diff --git a/CHANGELOG.md b/CHANGELOG.md index 79b6bde2..2cfbee28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Breaking Changes 0.15.0b1 +# Breaking Changes 0.15.0b2 ### Important @@ -15,7 +15,7 @@ This document outlines the breaking changes introduced in our codebase for versi - [Get Best Native Sale Offer](#get-best-native-sale-offer) deleted function - [Buy](#buy) deleted function - [Leverage Buy](#leverage-buy) deleted function -- [Leverage Sell](#leverage-sell) deleted function +- [Leverage Sell](#replace-leveragesell-with-sellandrepay) function renamed and args argument --- @@ -75,11 +75,74 @@ The function `leverageBuy` was deleted --- -## Leverage Sell +## replace leverageSell With sellAndRepay **Description:** -The function `leverageSell` was deleted (for now) +`leverageSell` was replaced with `sellAndRepay`. The function now expects a single argument `repaymentCalldata` which is the encoded structured data that the `repayLoan` fn expects + +`borrowerSignature` must be calculated since `PurchaseBundler` will be the msg.sender of the transaction + +``` +struct LoanRepaymentData { + SignableRepaymentData data; + Loan loan; + bytes borrowerSignature; +} +``` + +Internal Types: + +``` +struct SignableRepaymentData { + uint256 loanId; + bytes callbackData; + bool shouldDelegate; +} + +// For Loan type, check the loan version, for V2: +struct Loan { + address borrower; + uint256 nftCollateralTokenId; + address nftCollateralAddress; + address principalAddress; + uint256 principalAmount; + uint256 startTime; + uint256 duration; + Source[] source; +} + +struct Source { + uint256 loanId; + address lender; + uint256 principalAmount; + uint256 accruedInterest; + uint256 startTime; + uint256 aprBps; +} + +// For V3: +struct Loan { + address borrower; + uint256 nftCollateralTokenId; + address nftCollateralAddress; + address principalAddress; + uint256 principalAmount; + uint256 startTime; + uint256 duration; + Tranche[] tranche; + uint256 protocolFee; +} +struct Tranche { + uint256 loanId; + uint256 floor; + uint256 principalAmount; + address lender; + uint256 accruedInterest; + uint256 startTime; + uint256 aprBps; +} +``` --- diff --git a/docs/0.15.0b2/.nojekyll b/docs/0.15.0b2/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/0.15.0b2/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/0.15.0b2/assets/highlight.css b/docs/0.15.0b2/assets/highlight.css new file mode 100644 index 00000000..fb8bd2e7 --- /dev/null +++ b/docs/0.15.0b2/assets/highlight.css @@ -0,0 +1,85 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #008000; + --dark-hl-4: #6A9955; + --light-hl-5: #AF00DB; + --dark-hl-5: #C586C0; + --light-hl-6: #001080; + --dark-hl-6: #9CDCFE; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #098658; + --dark-hl-8: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +pre, code { background: var(--code-background); } diff --git a/docs/0.15.0b2/assets/main.js b/docs/0.15.0b2/assets/main.js new file mode 100644 index 00000000..4c8fa615 --- /dev/null +++ b/docs/0.15.0b2/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/0.15.0b2/assets/search.js b/docs/0.15.0b2/assets/search.js new file mode 100644 index 00000000..83e673a4 --- /dev/null +++ b/docs/0.15.0b2/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":128,\"name\":\"Gondi\",\"url\":\"classes/Gondi.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Gondi.html#constructor\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":1024,\"name\":\"contracts\",\"url\":\"classes/Gondi.html#contracts\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Gondi.html#wallet\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Gondi.html#wallet.__type\",\"classes\":\"\",\"parent\":\"Gondi.wallet\"},{\"kind\":1024,\"name\":\"account\",\"url\":\"classes/Gondi.html#account\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Gondi.html#bcClient\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Gondi.html#bcClient.__type-1\",\"classes\":\"\",\"parent\":\"Gondi.bcClient\"},{\"kind\":1024,\"name\":\"api\",\"url\":\"classes/Gondi.html#api\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":1024,\"name\":\"defaults\",\"url\":\"classes/Gondi.html#defaults\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Gondi.html#defaults.__type-2\",\"classes\":\"\",\"parent\":\"Gondi.defaults\"},{\"kind\":1024,\"name\":\"Msl\",\"url\":\"classes/Gondi.html#defaults.__type-2.Msl\",\"classes\":\"\",\"parent\":\"Gondi.defaults.__type\"},{\"kind\":1024,\"name\":\"UserVault\",\"url\":\"classes/Gondi.html#defaults.__type-2.UserVault\",\"classes\":\"\",\"parent\":\"Gondi.defaults.__type\"},{\"kind\":2048,\"name\":\"makeSingleNftOffer\",\"url\":\"classes/Gondi.html#makeSingleNftOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"makeCollectionOffer\",\"url\":\"classes/Gondi.html#makeCollectionOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"makeOrder\",\"url\":\"classes/Gondi.html#makeOrder\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"cancelOffer\",\"url\":\"classes/Gondi.html#cancelOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"cancelAllOffers\",\"url\":\"classes/Gondi.html#cancelAllOffers\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"hideOffer\",\"url\":\"classes/Gondi.html#hideOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"unhideOffer\",\"url\":\"classes/Gondi.html#unhideOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"makeRefinanceOffer\",\"url\":\"classes/Gondi.html#makeRefinanceOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"cancelRefinanceOffer\",\"url\":\"classes/Gondi.html#cancelRefinanceOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"hideRenegotiationOffer\",\"url\":\"classes/Gondi.html#hideRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"unhideRenegotiationOffer\",\"url\":\"classes/Gondi.html#unhideRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"hideOrder\",\"url\":\"classes/Gondi.html#hideOrder\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"unhideOrder\",\"url\":\"classes/Gondi.html#unhideOrder\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"cancelAllRenegotiations\",\"url\":\"classes/Gondi.html#cancelAllRenegotiations\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"offerExecutionFromOffers\",\"url\":\"classes/Gondi.html#offerExecutionFromOffers\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"emitLoan\",\"url\":\"classes/Gondi.html#emitLoan\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"refinanceFromOffers\",\"url\":\"classes/Gondi.html#refinanceFromOffers\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"repayLoan\",\"url\":\"classes/Gondi.html#repayLoan\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"offers\",\"url\":\"classes/Gondi.html#offers\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"loans\",\"url\":\"classes/Gondi.html#loans\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"list\",\"url\":\"classes/Gondi.html#list\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"unlist\",\"url\":\"classes/Gondi.html#unlist\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"listings\",\"url\":\"classes/Gondi.html#listings\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"nftId\",\"url\":\"classes/Gondi.html#nftId\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"collections\",\"url\":\"classes/Gondi.html#collections\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"collectionId\",\"url\":\"classes/Gondi.html#collectionId\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"ownedNfts\",\"url\":\"classes/Gondi.html#ownedNfts\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"getRemainingLockupSeconds\",\"url\":\"classes/Gondi.html#getRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"isEndLockedUp\",\"url\":\"classes/Gondi.html#isEndLockedUp\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"refinanceBatch\",\"url\":\"classes/Gondi.html#refinanceBatch\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"refinanceFullLoan\",\"url\":\"classes/Gondi.html#refinanceFullLoan\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"refinancePartialLoan\",\"url\":\"classes/Gondi.html#refinancePartialLoan\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"addTranche\",\"url\":\"classes/Gondi.html#addTranche\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"delegateMulticall\",\"url\":\"classes/Gondi.html#delegateMulticall\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"delegate\",\"url\":\"classes/Gondi.html#delegate\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"revokeDelegate\",\"url\":\"classes/Gondi.html#revokeDelegate\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"revokeDelegationsAndEmitLoan\",\"url\":\"classes/Gondi.html#revokeDelegationsAndEmitLoan\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"liquidateLoan\",\"url\":\"classes/Gondi.html#liquidateLoan\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"placeBid\",\"url\":\"classes/Gondi.html#placeBid\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"settleAuction\",\"url\":\"classes/Gondi.html#settleAuction\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"settleAuctionWithBuyout\",\"url\":\"classes/Gondi.html#settleAuctionWithBuyout\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"getAuctionRemainingLockupSeconds\",\"url\":\"classes/Gondi.html#getAuctionRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"getOwner\",\"url\":\"classes/Gondi.html#getOwner\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"balanceOf\",\"url\":\"classes/Gondi.html#balanceOf\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"isApprovedNFTForAll\",\"url\":\"classes/Gondi.html#isApprovedNFTForAll\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"approveNFTForAll\",\"url\":\"classes/Gondi.html#approveNFTForAll\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"isApprovedToken\",\"url\":\"classes/Gondi.html#isApprovedToken\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"approveToken\",\"url\":\"classes/Gondi.html#approveToken\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"createUserVault\",\"url\":\"classes/Gondi.html#createUserVault\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"_createUserVault\",\"url\":\"classes/Gondi.html#_createUserVault\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"depositUserVaultERC721s\",\"url\":\"classes/Gondi.html#depositUserVaultERC721s\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"depositUserVaultERC1155s\",\"url\":\"classes/Gondi.html#depositUserVaultERC1155s\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"burnUserVaultAndWithdraw\",\"url\":\"classes/Gondi.html#burnUserVaultAndWithdraw\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"wrapOldERC721\",\"url\":\"classes/Gondi.html#wrapOldERC721\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"unwrapOldERC721\",\"url\":\"classes/Gondi.html#unwrapOldERC721\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":2048,\"name\":\"sellAndRepay\",\"url\":\"classes/Gondi.html#sellAndRepay\",\"classes\":\"\",\"parent\":\"Gondi\"},{\"kind\":8,\"name\":\"LoanStatusType\",\"url\":\"enums/LoanStatusType.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"LoanAuctioned\",\"url\":\"enums/LoanStatusType.html#LoanAuctioned\",\"classes\":\"\",\"parent\":\"LoanStatusType\"},{\"kind\":16,\"name\":\"LoanAuctionedWithBuyout\",\"url\":\"enums/LoanStatusType.html#LoanAuctionedWithBuyout\",\"classes\":\"\",\"parent\":\"LoanStatusType\"},{\"kind\":16,\"name\":\"LoanDefaulted\",\"url\":\"enums/LoanStatusType.html#LoanDefaulted\",\"classes\":\"\",\"parent\":\"LoanStatusType\"},{\"kind\":16,\"name\":\"LoanForeclosed\",\"url\":\"enums/LoanStatusType.html#LoanForeclosed\",\"classes\":\"\",\"parent\":\"LoanStatusType\"},{\"kind\":16,\"name\":\"LoanInitiated\",\"url\":\"enums/LoanStatusType.html#LoanInitiated\",\"classes\":\"\",\"parent\":\"LoanStatusType\"},{\"kind\":16,\"name\":\"LoanRepaid\",\"url\":\"enums/LoanStatusType.html#LoanRepaid\",\"classes\":\"\",\"parent\":\"LoanStatusType\"},{\"kind\":16,\"name\":\"LoanSentToAuction\",\"url\":\"enums/LoanStatusType.html#LoanSentToAuction\",\"classes\":\"\",\"parent\":\"LoanStatusType\"},{\"kind\":8,\"name\":\"OfferStatus\",\"url\":\"enums/OfferStatus.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"Active\",\"url\":\"enums/OfferStatus.html#Active\",\"classes\":\"\",\"parent\":\"OfferStatus\"},{\"kind\":16,\"name\":\"Cancelled\",\"url\":\"enums/OfferStatus.html#Cancelled\",\"classes\":\"\",\"parent\":\"OfferStatus\"},{\"kind\":16,\"name\":\"Executed\",\"url\":\"enums/OfferStatus.html#Executed\",\"classes\":\"\",\"parent\":\"OfferStatus\"},{\"kind\":16,\"name\":\"Expired\",\"url\":\"enums/OfferStatus.html#Expired\",\"classes\":\"\",\"parent\":\"OfferStatus\"},{\"kind\":16,\"name\":\"Inactive\",\"url\":\"enums/OfferStatus.html#Inactive\",\"classes\":\"\",\"parent\":\"OfferStatus\"},{\"kind\":16,\"name\":\"Outperformed\",\"url\":\"enums/OfferStatus.html#Outperformed\",\"classes\":\"\",\"parent\":\"OfferStatus\"},{\"kind\":8,\"name\":\"OffersSortField\",\"url\":\"enums/OffersSortField.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"AprBps\",\"url\":\"enums/OffersSortField.html#AprBps\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"CreatedDate\",\"url\":\"enums/OffersSortField.html#CreatedDate\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"DailyInterest\",\"url\":\"enums/OffersSortField.html#DailyInterest\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"Duration\",\"url\":\"enums/OffersSortField.html#Duration\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"EffectiveAprBps\",\"url\":\"enums/OffersSortField.html#EffectiveAprBps\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"Expiration\",\"url\":\"enums/OffersSortField.html#Expiration\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"Fee\",\"url\":\"enums/OffersSortField.html#Fee\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"MaxPrincipal\",\"url\":\"enums/OffersSortField.html#MaxPrincipal\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"NetInterest\",\"url\":\"enums/OffersSortField.html#NetInterest\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"NetPrincipal\",\"url\":\"enums/OffersSortField.html#NetPrincipal\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"PrincipalAmount\",\"url\":\"enums/OffersSortField.html#PrincipalAmount\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"Repayment\",\"url\":\"enums/OffersSortField.html#Repayment\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"Status\",\"url\":\"enums/OffersSortField.html#Status\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":16,\"name\":\"TotalInterest\",\"url\":\"enums/OffersSortField.html#TotalInterest\",\"classes\":\"\",\"parent\":\"OffersSortField\"},{\"kind\":8,\"name\":\"Ordering\",\"url\":\"enums/Ordering.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"Asc\",\"url\":\"enums/Ordering.html#Asc\",\"classes\":\"\",\"parent\":\"Ordering\"},{\"kind\":16,\"name\":\"Desc\",\"url\":\"enums/Ordering.html#Desc\",\"classes\":\"\",\"parent\":\"Ordering\"},{\"kind\":8,\"name\":\"MarketplaceEnum\",\"url\":\"enums/MarketplaceEnum.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"Gondi\",\"url\":\"enums/MarketplaceEnum.html#Gondi\",\"classes\":\"\",\"parent\":\"MarketplaceEnum\"},{\"kind\":16,\"name\":\"Nftfi\",\"url\":\"enums/MarketplaceEnum.html#Nftfi\",\"classes\":\"\",\"parent\":\"MarketplaceEnum\"},{\"kind\":8,\"name\":\"TokenStandardType\",\"url\":\"enums/TokenStandardType.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"Erc721\",\"url\":\"enums/TokenStandardType.html#Erc721\",\"classes\":\"\",\"parent\":\"TokenStandardType\"},{\"kind\":16,\"name\":\"Erc1155\",\"url\":\"enums/TokenStandardType.html#Erc1155\",\"classes\":\"\",\"parent\":\"TokenStandardType\"},{\"kind\":16,\"name\":\"OldErc721\",\"url\":\"enums/TokenStandardType.html#OldErc721\",\"classes\":\"\",\"parent\":\"TokenStandardType\"},{\"kind\":4,\"name\":\"Types\",\"url\":\"modules/Types.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"SingleNftOfferInput\",\"url\":\"types/Types.SingleNftOfferInput.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"UnsignedSingleNftOffer\",\"url\":\"types/Types.UnsignedSingleNftOffer.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"SingleNftOffer\",\"url\":\"types/Types.SingleNftOffer.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"CollectionOfferInput\",\"url\":\"types/Types.CollectionOfferInput.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"UnsignedCollectionOffer\",\"url\":\"types/Types.UnsignedCollectionOffer.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"CollectionOffer\",\"url\":\"types/Types.CollectionOffer.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"RenegotiationInput\",\"url\":\"types/Types.RenegotiationInput.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"UnsignedRenegotiationOffer\",\"url\":\"types/Types.UnsignedRenegotiationOffer.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"RenegotiationOffer\",\"url\":\"types/Types.RenegotiationOffer.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":4194304,\"name\":\"ListOffersProps\",\"url\":\"types/Types.ListOffersProps.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Types.ListOffersProps.html#__type\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"types/Types.ListOffersProps.html#__type.limit\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type\"},{\"kind\":1024,\"name\":\"cursor\",\"url\":\"types/Types.ListOffersProps.html#__type.cursor\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type\"},{\"kind\":1024,\"name\":\"sortBy\",\"url\":\"types/Types.ListOffersProps.html#__type.sortBy\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type\"},{\"kind\":1024,\"name\":\"filterBy\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy\"},{\"kind\":1024,\"name\":\"nft\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1.nft\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy.__type\"},{\"kind\":1024,\"name\":\"onlySingleNftOffers\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1.onlySingleNftOffers\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1.collection\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy.__type\"},{\"kind\":1024,\"name\":\"onlyCollectionOffers\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1.onlyCollectionOffers\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy.__type\"},{\"kind\":1024,\"name\":\"borrower\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1.borrower\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy.__type\"},{\"kind\":1024,\"name\":\"lenders\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1.lenders\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy.__type\"},{\"kind\":1024,\"name\":\"status\",\"url\":\"types/Types.ListOffersProps.html#__type.filterBy.__type-1.status\",\"classes\":\"\",\"parent\":\"Types.ListOffersProps.__type.filterBy.__type\"},{\"kind\":256,\"name\":\"ListLoansProps\",\"url\":\"interfaces/Types.ListLoansProps.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"interfaces/Types.ListLoansProps.html#limit\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"cursor\",\"url\":\"interfaces/Types.ListLoansProps.html#cursor\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"borrowers\",\"url\":\"interfaces/Types.ListLoansProps.html#borrowers\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"collections\",\"url\":\"interfaces/Types.ListLoansProps.html#collections\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"nfts\",\"url\":\"interfaces/Types.ListLoansProps.html#nfts\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"statuses\",\"url\":\"interfaces/Types.ListLoansProps.html#statuses\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"sortBy\",\"url\":\"interfaces/Types.ListLoansProps.html#sortBy\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"terms\",\"url\":\"interfaces/Types.ListLoansProps.html#terms\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"orderByStatuses\",\"url\":\"interfaces/Types.ListLoansProps.html#orderByStatuses\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":1024,\"name\":\"loansCurrencyAddress\",\"url\":\"interfaces/Types.ListLoansProps.html#loansCurrencyAddress\",\"classes\":\"\",\"parent\":\"Types.ListLoansProps\"},{\"kind\":4194304,\"name\":\"ListListingsProps\",\"url\":\"types/Types.ListListingsProps.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Types.ListListingsProps.html#__type\",\"classes\":\"\",\"parent\":\"Types.ListListingsProps\"},{\"kind\":1024,\"name\":\"collections\",\"url\":\"types/Types.ListListingsProps.html#__type.collections\",\"classes\":\"\",\"parent\":\"Types.ListListingsProps.__type\"},{\"kind\":1024,\"name\":\"user\",\"url\":\"types/Types.ListListingsProps.html#__type.user\",\"classes\":\"\",\"parent\":\"Types.ListListingsProps.__type\"},{\"kind\":1024,\"name\":\"marketPlaces\",\"url\":\"types/Types.ListListingsProps.html#__type.marketPlaces\",\"classes\":\"\",\"parent\":\"Types.ListListingsProps.__type\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"types/Types.ListListingsProps.html#__type.limit\",\"classes\":\"\",\"parent\":\"Types.ListListingsProps.__type\"},{\"kind\":1024,\"name\":\"cursor\",\"url\":\"types/Types.ListListingsProps.html#__type.cursor\",\"classes\":\"\",\"parent\":\"Types.ListListingsProps.__type\"},{\"kind\":4194304,\"name\":\"NftStandard\",\"url\":\"types/Types.NftStandard.html\",\"classes\":\"\",\"parent\":\"Types\"},{\"kind\":32,\"name\":\"FULFILLED\",\"url\":\"variables/FULFILLED.html\",\"classes\":\"\"},{\"kind\":32,\"name\":\"REJECTED\",\"url\":\"variables/REJECTED.html\",\"classes\":\"\"},{\"kind\":2,\"name\":\"Internal\",\"url\":\"modules/Internal.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"GondiProps\",\"url\":\"interfaces/Internal.GondiProps.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"interfaces/Internal.GondiProps.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.GondiProps\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/Internal.GondiProps.html#wallet.__type\",\"classes\":\"\",\"parent\":\"Internal.GondiProps.wallet\"},{\"kind\":1024,\"name\":\"apiClient\",\"url\":\"interfaces/Internal.GondiProps.html#apiClient\",\"classes\":\"\",\"parent\":\"Internal.GondiProps\"},{\"kind\":128,\"name\":\"Contracts\",\"url\":\"classes/Internal.Contracts.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.Contracts.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"publicClient\",\"url\":\"classes/Internal.Contracts.html#publicClient\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Contracts.html#publicClient.__type\",\"classes\":\"\",\"parent\":\"Internal.Contracts.publicClient\"},{\"kind\":1024,\"name\":\"walletClient\",\"url\":\"classes/Internal.Contracts.html#walletClient\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Contracts.html#walletClient.__type-1\",\"classes\":\"\",\"parent\":\"Internal.Contracts.walletClient\"},{\"kind\":1024,\"name\":\"MultiSourceLoanV4\",\"url\":\"classes/Internal.Contracts.html#MultiSourceLoanV4\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"MultiSourceLoanV5\",\"url\":\"classes/Internal.Contracts.html#MultiSourceLoanV5\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"MultiSourceLoanV6\",\"url\":\"classes/Internal.Contracts.html#MultiSourceLoanV6\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"AuctionLoanLiquidatorV4\",\"url\":\"classes/Internal.Contracts.html#AuctionLoanLiquidatorV4\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"AuctionLoanLiquidatorV5\",\"url\":\"classes/Internal.Contracts.html#AuctionLoanLiquidatorV5\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"AuctionLoanLiquidatorV6\",\"url\":\"classes/Internal.Contracts.html#AuctionLoanLiquidatorV6\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"UserVaultV5\",\"url\":\"classes/Internal.Contracts.html#UserVaultV5\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"UserVaultV6\",\"url\":\"classes/Internal.Contracts.html#UserVaultV6\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":1024,\"name\":\"PurchaseBundler\",\"url\":\"classes/Internal.Contracts.html#PurchaseBundler\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"Msl\",\"url\":\"classes/Internal.Contracts.html#Msl\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"All\",\"url\":\"classes/Internal.Contracts.html#All\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"UserVault\",\"url\":\"classes/Internal.Contracts.html#UserVault\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"Nft\",\"url\":\"classes/Internal.Contracts.html#Nft\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"ERC721\",\"url\":\"classes/Internal.Contracts.html#ERC721\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"OldERC721\",\"url\":\"classes/Internal.Contracts.html#OldERC721\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"ERC1155\",\"url\":\"classes/Internal.Contracts.html#ERC1155\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"OldERC721Wrapper\",\"url\":\"classes/Internal.Contracts.html#OldERC721Wrapper\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":2048,\"name\":\"ERC20\",\"url\":\"classes/Internal.Contracts.html#ERC20\",\"classes\":\"\",\"parent\":\"Internal.Contracts\"},{\"kind\":128,\"name\":\"Api\",\"url\":\"classes/Internal.Api.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.Api.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":1024,\"name\":\"api\",\"url\":\"classes/Internal.Api.html#api\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#api.__type\",\"classes\":\"\",\"parent\":\"Internal.Api.api\"},{\"kind\":2048,\"name\":\"listNft\",\"url\":\"classes/Internal.Api.html#api.__type.listNft\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"unlistNft\",\"url\":\"classes/Internal.Api.html#api.__type.unlistNft\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"generateCollectionOfferHash\",\"url\":\"classes/Internal.Api.html#api.__type.generateCollectionOfferHash\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"saveCollectionOffer\",\"url\":\"classes/Internal.Api.html#api.__type.saveCollectionOffer\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"hideOffer\",\"url\":\"classes/Internal.Api.html#api.__type.hideOffer\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"generateSingleNftOfferHash\",\"url\":\"classes/Internal.Api.html#api.__type.generateSingleNftOfferHash\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"saveSingleNftOffer\",\"url\":\"classes/Internal.Api.html#api.__type.saveSingleNftOffer\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"unhideOffer\",\"url\":\"classes/Internal.Api.html#api.__type.unhideOffer\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"generateRenegotiationOfferHash\",\"url\":\"classes/Internal.Api.html#api.__type.generateRenegotiationOfferHash\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"hideRenegotiationOffer\",\"url\":\"classes/Internal.Api.html#api.__type.hideRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"saveRenegotiationOffer\",\"url\":\"classes/Internal.Api.html#api.__type.saveRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"unhideRenegotiationOffer\",\"url\":\"classes/Internal.Api.html#api.__type.unhideRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"hideOrder\",\"url\":\"classes/Internal.Api.html#api.__type.hideOrder\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"publishOrder\",\"url\":\"classes/Internal.Api.html#api.__type.publishOrder\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"unhideOrder\",\"url\":\"classes/Internal.Api.html#api.__type.unhideOrder\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"collections\",\"url\":\"classes/Internal.Api.html#api.__type.collections\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"collectionByContractAddress\",\"url\":\"classes/Internal.Api.html#api.__type.collectionByContractAddress\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"collectionsIdByContractAddress\",\"url\":\"classes/Internal.Api.html#api.__type.collectionsIdByContractAddress\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"collectionIdBySlug\",\"url\":\"classes/Internal.Api.html#api.__type.collectionIdBySlug\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"listListings\",\"url\":\"classes/Internal.Api.html#api.__type.listListings\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"listLoans\",\"url\":\"classes/Internal.Api.html#api.__type.listLoans\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"nftIdByContractAddressAndTokenId\",\"url\":\"classes/Internal.Api.html#api.__type.nftIdByContractAddressAndTokenId\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"nftIdBySlugTokenId\",\"url\":\"classes/Internal.Api.html#api.__type.nftIdBySlugTokenId\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"ownedNfts\",\"url\":\"classes/Internal.Api.html#api.__type.ownedNfts\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":2048,\"name\":\"listOffers\",\"url\":\"classes/Internal.Api.html#api.__type.listOffers\",\"classes\":\"\",\"parent\":\"Internal.Api.api.__type\"},{\"kind\":1024,\"name\":\"generateSingleNftOfferHash\",\"url\":\"classes/Internal.Api.html#generateSingleNftOfferHash-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#generateSingleNftOfferHash-2.__type-1\",\"classes\":\"\",\"parent\":\"Internal.Api.generateSingleNftOfferHash\"},{\"kind\":1024,\"name\":\"generateCollectionOfferHash\",\"url\":\"classes/Internal.Api.html#generateCollectionOfferHash-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#generateCollectionOfferHash-2.__type-3\",\"classes\":\"\",\"parent\":\"Internal.Api.generateCollectionOfferHash\"},{\"kind\":1024,\"name\":\"generateRenegotiationOfferHash\",\"url\":\"classes/Internal.Api.html#generateRenegotiationOfferHash-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#generateRenegotiationOfferHash-2.__type-5\",\"classes\":\"\",\"parent\":\"Internal.Api.generateRenegotiationOfferHash\"},{\"kind\":1024,\"name\":\"nftIdBySlugTokenId\",\"url\":\"classes/Internal.Api.html#nftIdBySlugTokenId-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#nftIdBySlugTokenId-2.__type-7\",\"classes\":\"\",\"parent\":\"Internal.Api.nftIdBySlugTokenId\"},{\"kind\":1024,\"name\":\"nftIdByContractAddressAndTokenId\",\"url\":\"classes/Internal.Api.html#nftIdByContractAddressAndTokenId-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#nftIdByContractAddressAndTokenId-2.__type-9\",\"classes\":\"\",\"parent\":\"Internal.Api.nftIdByContractAddressAndTokenId\"},{\"kind\":1024,\"name\":\"collections\",\"url\":\"classes/Internal.Api.html#collections-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#collections-2.__type-11\",\"classes\":\"\",\"parent\":\"Internal.Api.collections\"},{\"kind\":1024,\"name\":\"collectionIdBySlug\",\"url\":\"classes/Internal.Api.html#collectionIdBySlug-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#collectionIdBySlug-2.__type-13\",\"classes\":\"\",\"parent\":\"Internal.Api.collectionIdBySlug\"},{\"kind\":1024,\"name\":\"collectionsIdByContractAddress\",\"url\":\"classes/Internal.Api.html#collectionsIdByContractAddress-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#collectionsIdByContractAddress-2.__type-15\",\"classes\":\"\",\"parent\":\"Internal.Api.collectionsIdByContractAddress\"},{\"kind\":1024,\"name\":\"collectionByContractAddress\",\"url\":\"classes/Internal.Api.html#collectionByContractAddress-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#collectionByContractAddress-2.__type-17\",\"classes\":\"\",\"parent\":\"Internal.Api.collectionByContractAddress\"},{\"kind\":1024,\"name\":\"listNft\",\"url\":\"classes/Internal.Api.html#listNft-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#listNft-2.__type-19\",\"classes\":\"\",\"parent\":\"Internal.Api.listNft\"},{\"kind\":1024,\"name\":\"unlistNft\",\"url\":\"classes/Internal.Api.html#unlistNft-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#unlistNft-2.__type-21\",\"classes\":\"\",\"parent\":\"Internal.Api.unlistNft\"},{\"kind\":1024,\"name\":\"ownedNfts\",\"url\":\"classes/Internal.Api.html#ownedNfts-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#ownedNfts-2.__type-23\",\"classes\":\"\",\"parent\":\"Internal.Api.ownedNfts\"},{\"kind\":1024,\"name\":\"hideOffer\",\"url\":\"classes/Internal.Api.html#hideOffer-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#hideOffer-2.__type-25\",\"classes\":\"\",\"parent\":\"Internal.Api.hideOffer\"},{\"kind\":1024,\"name\":\"hideRenegotiationOffer\",\"url\":\"classes/Internal.Api.html#hideRenegotiationOffer-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#hideRenegotiationOffer-2.__type-27\",\"classes\":\"\",\"parent\":\"Internal.Api.hideRenegotiationOffer\"},{\"kind\":1024,\"name\":\"unhideOffer\",\"url\":\"classes/Internal.Api.html#unhideOffer-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#unhideOffer-2.__type-29\",\"classes\":\"\",\"parent\":\"Internal.Api.unhideOffer\"},{\"kind\":1024,\"name\":\"unhideRenegotiationOffer\",\"url\":\"classes/Internal.Api.html#unhideRenegotiationOffer-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#unhideRenegotiationOffer-2.__type-31\",\"classes\":\"\",\"parent\":\"Internal.Api.unhideRenegotiationOffer\"},{\"kind\":1024,\"name\":\"hideOrder\",\"url\":\"classes/Internal.Api.html#hideOrder-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#hideOrder-2.__type-33\",\"classes\":\"\",\"parent\":\"Internal.Api.hideOrder\"},{\"kind\":1024,\"name\":\"unhideOrder\",\"url\":\"classes/Internal.Api.html#unhideOrder-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.Api.html#unhideOrder-2.__type-35\",\"classes\":\"\",\"parent\":\"Internal.Api.unhideOrder\"},{\"kind\":2048,\"name\":\"saveSingleNftOffer\",\"url\":\"classes/Internal.Api.html#saveSingleNftOffer-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":2048,\"name\":\"publishOrder\",\"url\":\"classes/Internal.Api.html#publishOrder-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":2048,\"name\":\"saveCollectionOffer\",\"url\":\"classes/Internal.Api.html#saveCollectionOffer-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":2048,\"name\":\"saveRefinanceOffer\",\"url\":\"classes/Internal.Api.html#saveRefinanceOffer\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":2048,\"name\":\"listOffers\",\"url\":\"classes/Internal.Api.html#listOffers-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":2048,\"name\":\"listLoans\",\"url\":\"classes/Internal.Api.html#listLoans-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":2048,\"name\":\"listListings\",\"url\":\"classes/Internal.Api.html#listListings-2\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":2048,\"name\":\"getWrapperAddress\",\"url\":\"classes/Internal.Api.html#getWrapperAddress\",\"classes\":\"\",\"parent\":\"Internal.Api\"},{\"kind\":4194304,\"name\":\"InputMaybe\",\"url\":\"types/Internal.InputMaybe.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"OfferValidatorInput\",\"url\":\"types/Internal.OfferValidatorInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.OfferValidatorInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.OfferValidatorInput\"},{\"kind\":1024,\"name\":\"arguments\",\"url\":\"types/Internal.OfferValidatorInput.html#__type.arguments\",\"classes\":\"\",\"parent\":\"Internal.OfferValidatorInput.__type\"},{\"kind\":1024,\"name\":\"validator\",\"url\":\"types/Internal.OfferValidatorInput.html#__type.validator\",\"classes\":\"\",\"parent\":\"Internal.OfferValidatorInput.__type\"},{\"kind\":4194304,\"name\":\"HideOfferMutation\",\"url\":\"types/Internal.HideOfferMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.HideOfferMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.HideOfferMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.HideOfferMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.HideOfferMutation.__type\"},{\"kind\":1024,\"name\":\"hideOffer\",\"url\":\"types/Internal.HideOfferMutation.html#__type.hideOffer\",\"classes\":\"\",\"parent\":\"Internal.HideOfferMutation.__type\"},{\"kind\":4194304,\"name\":\"UnhideOfferMutation\",\"url\":\"types/Internal.UnhideOfferMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.UnhideOfferMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.UnhideOfferMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.UnhideOfferMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.UnhideOfferMutation.__type\"},{\"kind\":1024,\"name\":\"showOffer\",\"url\":\"types/Internal.UnhideOfferMutation.html#__type.showOffer\",\"classes\":\"\",\"parent\":\"Internal.UnhideOfferMutation.__type\"},{\"kind\":4194304,\"name\":\"HideRenegotiationOfferMutation\",\"url\":\"types/Internal.HideRenegotiationOfferMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.HideRenegotiationOfferMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.HideRenegotiationOfferMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.HideRenegotiationOfferMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.HideRenegotiationOfferMutation.__type\"},{\"kind\":1024,\"name\":\"hideRenegotiation\",\"url\":\"types/Internal.HideRenegotiationOfferMutation.html#__type.hideRenegotiation\",\"classes\":\"\",\"parent\":\"Internal.HideRenegotiationOfferMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.HideRenegotiationOfferMutation.html#__type.hideRenegotiation.__type-1\",\"classes\":\"\",\"parent\":\"Internal.HideRenegotiationOfferMutation.__type.hideRenegotiation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.HideRenegotiationOfferMutation.html#__type.hideRenegotiation.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.HideRenegotiationOfferMutation.__type.hideRenegotiation.__type\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"types/Internal.HideRenegotiationOfferMutation.html#__type.hideRenegotiation.__type-1.id\",\"classes\":\"\",\"parent\":\"Internal.HideRenegotiationOfferMutation.__type.hideRenegotiation.__type\"},{\"kind\":4194304,\"name\":\"UnhideRenegotiationOfferMutation\",\"url\":\"types/Internal.UnhideRenegotiationOfferMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.UnhideRenegotiationOfferMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.UnhideRenegotiationOfferMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.UnhideRenegotiationOfferMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.UnhideRenegotiationOfferMutation.__type\"},{\"kind\":1024,\"name\":\"showRenegotiation\",\"url\":\"types/Internal.UnhideRenegotiationOfferMutation.html#__type.showRenegotiation\",\"classes\":\"\",\"parent\":\"Internal.UnhideRenegotiationOfferMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.UnhideRenegotiationOfferMutation.html#__type.showRenegotiation.__type-1\",\"classes\":\"\",\"parent\":\"Internal.UnhideRenegotiationOfferMutation.__type.showRenegotiation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.UnhideRenegotiationOfferMutation.html#__type.showRenegotiation.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.UnhideRenegotiationOfferMutation.__type.showRenegotiation.__type\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"types/Internal.UnhideRenegotiationOfferMutation.html#__type.showRenegotiation.__type-1.id\",\"classes\":\"\",\"parent\":\"Internal.UnhideRenegotiationOfferMutation.__type.showRenegotiation.__type\"},{\"kind\":4194304,\"name\":\"HideOrderMutation\",\"url\":\"types/Internal.HideOrderMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.HideOrderMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.HideOrderMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.HideOrderMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.HideOrderMutation.__type\"},{\"kind\":1024,\"name\":\"hideOrder\",\"url\":\"types/Internal.HideOrderMutation.html#__type.hideOrder\",\"classes\":\"\",\"parent\":\"Internal.HideOrderMutation.__type\"},{\"kind\":4194304,\"name\":\"UnhideOrderMutation\",\"url\":\"types/Internal.UnhideOrderMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.UnhideOrderMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.UnhideOrderMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.UnhideOrderMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.UnhideOrderMutation.__type\"},{\"kind\":1024,\"name\":\"showOrder\",\"url\":\"types/Internal.UnhideOrderMutation.html#__type.showOrder\",\"classes\":\"\",\"parent\":\"Internal.UnhideOrderMutation.__type\"},{\"kind\":4194304,\"name\":\"OfferFromExecutionOffer\",\"url\":\"types/Internal.OfferFromExecutionOffer.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":256,\"name\":\"EmitLoanArgs\",\"url\":\"interfaces/Internal.EmitLoanArgs.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":1024,\"name\":\"offerExecution\",\"url\":\"interfaces/Internal.EmitLoanArgs.html#offerExecution\",\"classes\":\"\",\"parent\":\"Internal.EmitLoanArgs\"},{\"kind\":1024,\"name\":\"tokenId\",\"url\":\"interfaces/Internal.EmitLoanArgs.html#tokenId\",\"classes\":\"\",\"parent\":\"Internal.EmitLoanArgs\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"interfaces/Internal.EmitLoanArgs.html#duration\",\"classes\":\"\",\"parent\":\"Internal.EmitLoanArgs\"},{\"kind\":1024,\"name\":\"principalReceiver\",\"url\":\"interfaces/Internal.EmitLoanArgs.html#principalReceiver\",\"classes\":\"\",\"parent\":\"Internal.EmitLoanArgs\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"interfaces/Internal.EmitLoanArgs.html#expirationTime\",\"classes\":\"\",\"parent\":\"Internal.EmitLoanArgs\"},{\"kind\":4194304,\"name\":\"LoanToMslLoanType\",\"url\":\"types/Internal.LoanToMslLoanType.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"ListNftMutation\",\"url\":\"types/Internal.ListNftMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListNftMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.ListNftMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListNftMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.ListNftMutation.__type\"},{\"kind\":1024,\"name\":\"addOrUpdateListing\",\"url\":\"types/Internal.ListNftMutation.html#__type.addOrUpdateListing\",\"classes\":\"\",\"parent\":\"Internal.ListNftMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListNftMutation.html#__type.addOrUpdateListing.__type-1\",\"classes\":\"\",\"parent\":\"Internal.ListNftMutation.__type.addOrUpdateListing\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListNftMutation.html#__type.addOrUpdateListing.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.ListNftMutation.__type.addOrUpdateListing.__type\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"types/Internal.ListNftMutation.html#__type.addOrUpdateListing.__type-1.id\",\"classes\":\"\",\"parent\":\"Internal.ListNftMutation.__type.addOrUpdateListing.__type\"},{\"kind\":4194304,\"name\":\"UnlistNftMutation\",\"url\":\"types/Internal.UnlistNftMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.UnlistNftMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.UnlistNftMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.UnlistNftMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.UnlistNftMutation.__type\"},{\"kind\":1024,\"name\":\"removeListing\",\"url\":\"types/Internal.UnlistNftMutation.html#__type.removeListing\",\"classes\":\"\",\"parent\":\"Internal.UnlistNftMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.UnlistNftMutation.html#__type.removeListing.__type-1\",\"classes\":\"\",\"parent\":\"Internal.UnlistNftMutation.__type.removeListing\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.UnlistNftMutation.html#__type.removeListing.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.UnlistNftMutation.__type.removeListing.__type\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"types/Internal.UnlistNftMutation.html#__type.removeListing.__type-1.id\",\"classes\":\"\",\"parent\":\"Internal.UnlistNftMutation.__type.removeListing.__type\"},{\"kind\":4194304,\"name\":\"Exact\",\"url\":\"types/Internal.Exact.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"Auction\",\"url\":\"types/Internal.Auction.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"CreateVaultArgs\",\"url\":\"types/Internal.CreateVaultArgs.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"DepositERC721sArgs\",\"url\":\"types/Internal.DepositERC721sArgs.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"DepositERC1155sArgs\",\"url\":\"types/Internal.DepositERC1155sArgs.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.DepositERC1155sArgs.html#__type\",\"classes\":\"\",\"parent\":\"Internal.DepositERC1155sArgs\"},{\"kind\":1024,\"name\":\"vaultId\",\"url\":\"types/Internal.DepositERC1155sArgs.html#__type.vaultId\",\"classes\":\"\",\"parent\":\"Internal.DepositERC1155sArgs.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.DepositERC1155sArgs.html#__type.collection\",\"classes\":\"\",\"parent\":\"Internal.DepositERC1155sArgs.__type\"},{\"kind\":1024,\"name\":\"tokenIds\",\"url\":\"types/Internal.DepositERC1155sArgs.html#__type.tokenIds\",\"classes\":\"\",\"parent\":\"Internal.DepositERC1155sArgs.__type\"},{\"kind\":1024,\"name\":\"amounts\",\"url\":\"types/Internal.DepositERC1155sArgs.html#__type.amounts\",\"classes\":\"\",\"parent\":\"Internal.DepositERC1155sArgs.__type\"},{\"kind\":4194304,\"name\":\"BurnAndWithdrawArgs\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html#__type\",\"classes\":\"\",\"parent\":\"Internal.BurnAndWithdrawArgs\"},{\"kind\":1024,\"name\":\"vaultId\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html#__type.vaultId\",\"classes\":\"\",\"parent\":\"Internal.BurnAndWithdrawArgs.__type\"},{\"kind\":1024,\"name\":\"collections\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html#__type.collections\",\"classes\":\"\",\"parent\":\"Internal.BurnAndWithdrawArgs.__type\"},{\"kind\":1024,\"name\":\"tokenIds\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html#__type.tokenIds\",\"classes\":\"\",\"parent\":\"Internal.BurnAndWithdrawArgs.__type\"},{\"kind\":1024,\"name\":\"tokens\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html#__type.tokens\",\"classes\":\"\",\"parent\":\"Internal.BurnAndWithdrawArgs.__type\"},{\"kind\":1024,\"name\":\"erc1155Collections\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html#__type.erc1155Collections\",\"classes\":\"\",\"parent\":\"Internal.BurnAndWithdrawArgs.__type\"},{\"kind\":1024,\"name\":\"erc1155TokenIds\",\"url\":\"types/Internal.BurnAndWithdrawArgs.html#__type.erc1155TokenIds\",\"classes\":\"\",\"parent\":\"Internal.BurnAndWithdrawArgs.__type\"},{\"kind\":4194304,\"name\":\"wrapOldERC721Args\",\"url\":\"types/Internal.wrapOldERC721Args.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type.collection\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type.collection.__type-1\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args.__type.collection\"},{\"kind\":1024,\"name\":\"contractData\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type.collection.__type-1.contractData\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args.__type.collection.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type.collection.__type-1.contractData.__type-2\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args.__type.collection.__type.contractData\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type.collection.__type-1.contractData.__type-2.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args.__type.collection.__type.contractData.__type\"},{\"kind\":1024,\"name\":\"wrapperCollections\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type.collection.__type-1.wrapperCollections\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args.__type.collection.__type\"},{\"kind\":1024,\"name\":\"tokenId\",\"url\":\"types/Internal.wrapOldERC721Args.html#__type.tokenId\",\"classes\":\"\",\"parent\":\"Internal.wrapOldERC721Args.__type\"},{\"kind\":4194304,\"name\":\"Optional\",\"url\":\"types/Internal.Optional.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"SingleNftOfferInput\",\"url\":\"types/Internal.SingleNftOfferInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput\"},{\"kind\":1024,\"name\":\"aprBps\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.aprBps\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"borrowerAddress\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.borrowerAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"capacity\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.capacity\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.duration\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.expirationTime\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"fee\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.fee\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxSeniorRepayment\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.maxSeniorRepayment\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxTrancheFloor\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.maxTrancheFloor\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"nftId\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.nftId\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerValidators\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.offerValidators\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAddress\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.principalAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAmount\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.principalAmount\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"requiresLiquidation\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.requiresLiquidation\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.SingleNftOfferInput.html#__type.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftOfferInput.__type\"},{\"kind\":4194304,\"name\":\"MaxSeniorRepaymentArg\",\"url\":\"types/Internal.MaxSeniorRepaymentArg.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.MaxSeniorRepaymentArg.html#__type\",\"classes\":\"\",\"parent\":\"Internal.MaxSeniorRepaymentArg\"},{\"kind\":1024,\"name\":\"maxSeniorRepayment\",\"url\":\"types/Internal.MaxSeniorRepaymentArg.html#__type.maxSeniorRepayment\",\"classes\":\"\",\"parent\":\"Internal.MaxSeniorRepaymentArg.__type\"},{\"kind\":4194304,\"name\":\"SingleNftSignedOfferInput\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput\"},{\"kind\":1024,\"name\":\"aprBps\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.aprBps\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"borrowerAddress\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.borrowerAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"capacity\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.capacity\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.duration\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.expirationTime\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"fee\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.fee\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxSeniorRepayment\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.maxSeniorRepayment\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxTrancheFloor\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.maxTrancheFloor\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"nftId\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.nftId\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerHash\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.offerHash\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerId\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.offerId\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerValidators\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.offerValidators\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAddress\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.principalAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAmount\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.principalAmount\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"requiresLiquidation\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.requiresLiquidation\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"signature\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.signature\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.SingleNftSignedOfferInput.html#__type.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.SingleNftSignedOfferInput.__type\"},{\"kind\":4194304,\"name\":\"CollectionOfferInput\",\"url\":\"types/Internal.CollectionOfferInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionOfferInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput\"},{\"kind\":1024,\"name\":\"aprBps\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.aprBps\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"borrowerAddress\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.borrowerAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"capacity\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.capacity\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"collectionId\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.collectionId\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.duration\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.expirationTime\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"fee\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.fee\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxSeniorRepayment\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.maxSeniorRepayment\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxTrancheFloor\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.maxTrancheFloor\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerValidators\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.offerValidators\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAddress\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.principalAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAmount\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.principalAmount\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"requiresLiquidation\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.requiresLiquidation\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.CollectionOfferInput.html#__type.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionOfferInput.__type\"},{\"kind\":4194304,\"name\":\"CollectionSignedOfferInput\",\"url\":\"types/Internal.CollectionSignedOfferInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput\"},{\"kind\":1024,\"name\":\"aprBps\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.aprBps\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"borrowerAddress\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.borrowerAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"capacity\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.capacity\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"collectionId\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.collectionId\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.duration\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.expirationTime\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"fee\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.fee\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxSeniorRepayment\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.maxSeniorRepayment\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"maxTrancheFloor\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.maxTrancheFloor\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerHash\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.offerHash\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerId\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.offerId\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerValidators\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.offerValidators\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAddress\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.principalAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAmount\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.principalAmount\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"requiresLiquidation\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.requiresLiquidation\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"signature\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.signature\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.CollectionSignedOfferInput.html#__type.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.CollectionSignedOfferInput.__type\"},{\"kind\":4194304,\"name\":\"RenegotiationOfferInput\",\"url\":\"types/Internal.RenegotiationOfferInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput\"},{\"kind\":1024,\"name\":\"aprBps\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.aprBps\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.duration\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.expirationTime\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"feeAmount\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.feeAmount\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"isAddNewTranche\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.isAddNewTranche\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"loanId\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.loanId\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAmount\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.principalAmount\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"requiresLiquidation\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.requiresLiquidation\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"strictImprovement\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.strictImprovement\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"targetPrincipal\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.targetPrincipal\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"trancheIndex\",\"url\":\"types/Internal.RenegotiationOfferInput.html#__type.trancheIndex\",\"classes\":\"\",\"parent\":\"Internal.RenegotiationOfferInput.__type\"},{\"kind\":4194304,\"name\":\"SignedRenegotiationOfferInput\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput\"},{\"kind\":1024,\"name\":\"aprBps\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.aprBps\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.duration\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.expirationTime\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"feeAmount\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.feeAmount\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"isAddNewTranche\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.isAddNewTranche\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"loanId\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.loanId\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"offerHash\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.offerHash\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"principalAmount\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.principalAmount\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"renegotiationId\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.renegotiationId\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"requiresLiquidation\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.requiresLiquidation\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"signature\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.signature\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"strictImprovement\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.strictImprovement\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"targetPrincipal\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.targetPrincipal\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":1024,\"name\":\"trancheIndex\",\"url\":\"types/Internal.SignedRenegotiationOfferInput.html#__type.trancheIndex\",\"classes\":\"\",\"parent\":\"Internal.SignedRenegotiationOfferInput.__type\"},{\"kind\":4194304,\"name\":\"Signature\",\"url\":\"types/Internal.Signature.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"OffersSortInput\",\"url\":\"types/Internal.OffersSortInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.OffersSortInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.OffersSortInput\"},{\"kind\":1024,\"name\":\"durationOfInterest\",\"url\":\"types/Internal.OffersSortInput.html#__type.durationOfInterest\",\"classes\":\"\",\"parent\":\"Internal.OffersSortInput.__type\"},{\"kind\":1024,\"name\":\"field\",\"url\":\"types/Internal.OffersSortInput.html#__type.field\",\"classes\":\"\",\"parent\":\"Internal.OffersSortInput.__type\"},{\"kind\":1024,\"name\":\"order\",\"url\":\"types/Internal.OffersSortInput.html#__type.order\",\"classes\":\"\",\"parent\":\"Internal.OffersSortInput.__type\"},{\"kind\":1024,\"name\":\"principalOfInterest\",\"url\":\"types/Internal.OffersSortInput.html#__type.principalOfInterest\",\"classes\":\"\",\"parent\":\"Internal.OffersSortInput.__type\"},{\"kind\":4194304,\"name\":\"LoanSortInput\",\"url\":\"types/Internal.LoanSortInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.LoanSortInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.LoanSortInput\"},{\"kind\":1024,\"name\":\"field\",\"url\":\"types/Internal.LoanSortInput.html#__type.field\",\"classes\":\"\",\"parent\":\"Internal.LoanSortInput.__type\"},{\"kind\":1024,\"name\":\"order\",\"url\":\"types/Internal.LoanSortInput.html#__type.order\",\"classes\":\"\",\"parent\":\"Internal.LoanSortInput.__type\"},{\"kind\":4194304,\"name\":\"TermsFilter\",\"url\":\"types/Internal.TermsFilter.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.TermsFilter.html#__type\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter\"},{\"kind\":1024,\"name\":\"aprBps\",\"url\":\"types/Internal.TermsFilter.html#__type.aprBps\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter.__type\"},{\"kind\":1024,\"name\":\"duration\",\"url\":\"types/Internal.TermsFilter.html#__type.duration\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter.__type\"},{\"kind\":1024,\"name\":\"fee\",\"url\":\"types/Internal.TermsFilter.html#__type.fee\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter.__type\"},{\"kind\":1024,\"name\":\"maxPrincipal\",\"url\":\"types/Internal.TermsFilter.html#__type.maxPrincipal\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter.__type\"},{\"kind\":1024,\"name\":\"netPrincipal\",\"url\":\"types/Internal.TermsFilter.html#__type.netPrincipal\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter.__type\"},{\"kind\":1024,\"name\":\"principal\",\"url\":\"types/Internal.TermsFilter.html#__type.principal\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter.__type\"},{\"kind\":1024,\"name\":\"remainingTime\",\"url\":\"types/Internal.TermsFilter.html#__type.remainingTime\",\"classes\":\"\",\"parent\":\"Internal.TermsFilter.__type\"},{\"kind\":4194304,\"name\":\"UserFilter\",\"url\":\"types/Internal.UserFilter.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.UserFilter.html#__type\",\"classes\":\"\",\"parent\":\"Internal.UserFilter\"},{\"kind\":1024,\"name\":\"onlyOrExclude\",\"url\":\"types/Internal.UserFilter.html#__type.onlyOrExclude\",\"classes\":\"\",\"parent\":\"Internal.UserFilter.__type\"},{\"kind\":1024,\"name\":\"userId\",\"url\":\"types/Internal.UserFilter.html#__type.userId\",\"classes\":\"\",\"parent\":\"Internal.UserFilter.__type\"},{\"kind\":128,\"name\":\"MslV4\",\"url\":\"classes/Internal.MslV4.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.MslV4.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"signOffer\",\"url\":\"classes/Internal.MslV4.html#signOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"signRenegotiationOffer\",\"url\":\"classes/Internal.MslV4.html#signRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"cancelOffer\",\"url\":\"classes/Internal.MslV4.html#cancelOffer-1\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"cancelAllOffers\",\"url\":\"classes/Internal.MslV4.html#cancelAllOffers-1\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"cancelRefinanceOffer\",\"url\":\"classes/Internal.MslV4.html#cancelRefinanceOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"cancelAllRenegotiations\",\"url\":\"classes/Internal.MslV4.html#cancelAllRenegotiations\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"emitLoan\",\"url\":\"classes/Internal.MslV4.html#emitLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"repayLoan\",\"url\":\"classes/Internal.MslV4.html#repayLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"getRemainingLockupSeconds\",\"url\":\"classes/Internal.MslV4.html#getRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"isEndLockedUp\",\"url\":\"classes/Internal.MslV4.html#isEndLockedUp\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"refinanceBatch\",\"url\":\"classes/Internal.MslV4.html#refinanceBatch\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"refinanceFullLoan\",\"url\":\"classes/Internal.MslV4.html#refinanceFullLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"refinancePartialLoan\",\"url\":\"classes/Internal.MslV4.html#refinancePartialLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"addTranche\",\"url\":\"classes/Internal.MslV4.html#addTranche\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"refinanceFromOffers\",\"url\":\"classes/Internal.MslV4.html#refinanceFromOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"delegateMulticall\",\"url\":\"classes/Internal.MslV4.html#delegateMulticall\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"delegate\",\"url\":\"classes/Internal.MslV4.html#delegate\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"revokeDelegate\",\"url\":\"classes/Internal.MslV4.html#revokeDelegate\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"revokeDelegationsAndEmitLoan\",\"url\":\"classes/Internal.MslV4.html#revokeDelegationsAndEmitLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":2048,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.MslV4.html#liquidateLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.MslV4.html#abi\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.MslV4.html#address\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.MslV4.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.MslV4.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.MslV4.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.MslV4.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.MslV4.html#contract\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.liquidateLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.liquidateLoan.__type-5\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.liquidateLoan\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.onERC721Received.__type-7\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"addWhitelistedCallbackContract\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.addWhitelistedCallbackContract\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.addWhitelistedCallbackContract.__type-9\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.addWhitelistedCallbackContract\"},{\"kind\":1024,\"name\":\"approveSigner\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.approveSigner\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.approveSigner.__type-11\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.approveSigner\"},{\"kind\":1024,\"name\":\"cancelAllOffers\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelAllOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelAllOffers.__type-13\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.cancelAllOffers\"},{\"kind\":1024,\"name\":\"cancelAllRenegotiationOffers\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelAllRenegotiationOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelAllRenegotiationOffers.__type-15\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.cancelAllRenegotiationOffers\"},{\"kind\":1024,\"name\":\"cancelOffer\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelOffer.__type-17\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.cancelOffer\"},{\"kind\":1024,\"name\":\"cancelOffers\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelOffers.__type-19\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.cancelOffers\"},{\"kind\":1024,\"name\":\"cancelRenegotiationOffer\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelRenegotiationOffer.__type-21\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.cancelRenegotiationOffer\"},{\"kind\":1024,\"name\":\"cancelRenegotiationOffers\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelRenegotiationOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.cancelRenegotiationOffers.__type-23\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.cancelRenegotiationOffers\"},{\"kind\":1024,\"name\":\"loanLiquidated\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.loanLiquidated\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.loanLiquidated.__type-25\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.loanLiquidated\"},{\"kind\":1024,\"name\":\"removeWhitelistedCallbackContract\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.removeWhitelistedCallbackContract\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.removeWhitelistedCallbackContract.__type-27\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.removeWhitelistedCallbackContract\"},{\"kind\":1024,\"name\":\"setProtocolFee\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.setProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.setProtocolFee.__type-29\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.setProtocolFee\"},{\"kind\":1024,\"name\":\"updateImprovementMinimum\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateImprovementMinimum\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateImprovementMinimum.__type-31\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.updateImprovementMinimum\"},{\"kind\":1024,\"name\":\"updateLiquidationAuctionDuration\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateLiquidationAuctionDuration\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateLiquidationAuctionDuration.__type-33\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.updateLiquidationAuctionDuration\"},{\"kind\":1024,\"name\":\"updateLiquidationContract\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateLiquidationContract\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateLiquidationContract.__type-35\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.updateLiquidationContract\"},{\"kind\":1024,\"name\":\"updateProtocolFee\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.updateProtocolFee.__type-37\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.updateProtocolFee\"},{\"kind\":1024,\"name\":\"emitLoan\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.emitLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.emitLoan.__type-39\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.emitLoan\"},{\"kind\":1024,\"name\":\"refinanceFull\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.refinanceFull\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.refinanceFull.__type-41\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.refinanceFull\"},{\"kind\":1024,\"name\":\"refinancePartial\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.refinancePartial\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.refinancePartial.__type-43\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.refinancePartial\"},{\"kind\":1024,\"name\":\"refinancePartialBatch\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.refinancePartialBatch\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.refinancePartialBatch.__type-45\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.refinancePartialBatch\"},{\"kind\":1024,\"name\":\"repayLoan\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.repayLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.repayLoan.__type-47\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.repayLoan\"},{\"kind\":1024,\"name\":\"setMaxSources\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.setMaxSources\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#safeContractWrite.__type-2.setMaxSources.__type-49\",\"classes\":\"\",\"parent\":\"Internal.MslV4.safeContractWrite.__type.setMaxSources\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.MslV4.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.MslV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV4.html#parseEventLogs.__type-51\",\"classes\":\"\",\"parent\":\"Internal.MslV4.parseEventLogs\"},{\"kind\":128,\"name\":\"MslV5\",\"url\":\"classes/Internal.MslV5.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.MslV5.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"signOffer\",\"url\":\"classes/Internal.MslV5.html#signOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"signRenegotiationOffer\",\"url\":\"classes/Internal.MslV5.html#signRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"cancelOffer\",\"url\":\"classes/Internal.MslV5.html#cancelOffer-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"cancelAllOffers\",\"url\":\"classes/Internal.MslV5.html#cancelAllOffers-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"cancelRefinanceOffer\",\"url\":\"classes/Internal.MslV5.html#cancelRefinanceOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"cancelAllRenegotiations\",\"url\":\"classes/Internal.MslV5.html#cancelAllRenegotiations\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"emitLoan\",\"url\":\"classes/Internal.MslV5.html#emitLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"revokeDelegationsAndEmitLoan\",\"url\":\"classes/Internal.MslV5.html#revokeDelegationsAndEmitLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"repayLoan\",\"url\":\"classes/Internal.MslV5.html#repayLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"getRemainingLockupSeconds\",\"url\":\"classes/Internal.MslV5.html#getRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"isEndLockedUp\",\"url\":\"classes/Internal.MslV5.html#isEndLockedUp\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"refinanceBatch\",\"url\":\"classes/Internal.MslV5.html#refinanceBatch\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"refinanceFullLoan\",\"url\":\"classes/Internal.MslV5.html#refinanceFullLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"refinancePartialLoan\",\"url\":\"classes/Internal.MslV5.html#refinancePartialLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"addTranche\",\"url\":\"classes/Internal.MslV5.html#addTranche\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"refinanceFromOffers\",\"url\":\"classes/Internal.MslV5.html#refinanceFromOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"delegateMulticall\",\"url\":\"classes/Internal.MslV5.html#delegateMulticall\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"delegate\",\"url\":\"classes/Internal.MslV5.html#delegate-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"revokeDelegate\",\"url\":\"classes/Internal.MslV5.html#revokeDelegate-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":2048,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.MslV5.html#liquidateLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.MslV5.html#abi\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.MslV5.html#address\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.MslV5.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.MslV5.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.MslV5.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.MslV5.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.MslV5.html#contract\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.liquidateLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.liquidateLoan.__type-5\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.liquidateLoan\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.onERC721Received.__type-7\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"addWhitelistedCallbackContract\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.addWhitelistedCallbackContract\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.addWhitelistedCallbackContract.__type-9\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.addWhitelistedCallbackContract\"},{\"kind\":1024,\"name\":\"cancelAllOffers\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelAllOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelAllOffers.__type-11\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.cancelAllOffers\"},{\"kind\":1024,\"name\":\"cancelAllRenegotiationOffers\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelAllRenegotiationOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelAllRenegotiationOffers.__type-13\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.cancelAllRenegotiationOffers\"},{\"kind\":1024,\"name\":\"cancelOffer\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelOffer.__type-15\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.cancelOffer\"},{\"kind\":1024,\"name\":\"cancelOffers\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelOffers.__type-17\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.cancelOffers\"},{\"kind\":1024,\"name\":\"cancelRenegotiationOffer\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelRenegotiationOffer.__type-19\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.cancelRenegotiationOffer\"},{\"kind\":1024,\"name\":\"cancelRenegotiationOffers\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelRenegotiationOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.cancelRenegotiationOffers.__type-21\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.cancelRenegotiationOffers\"},{\"kind\":1024,\"name\":\"loanLiquidated\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.loanLiquidated\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.loanLiquidated.__type-23\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.loanLiquidated\"},{\"kind\":1024,\"name\":\"removeWhitelistedCallbackContract\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.removeWhitelistedCallbackContract\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.removeWhitelistedCallbackContract.__type-25\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.removeWhitelistedCallbackContract\"},{\"kind\":1024,\"name\":\"setProtocolFee\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setProtocolFee.__type-27\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.setProtocolFee\"},{\"kind\":1024,\"name\":\"updateImprovementMinimum\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateImprovementMinimum\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateImprovementMinimum.__type-29\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.updateImprovementMinimum\"},{\"kind\":1024,\"name\":\"updateLiquidationAuctionDuration\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateLiquidationAuctionDuration\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateLiquidationAuctionDuration.__type-31\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.updateLiquidationAuctionDuration\"},{\"kind\":1024,\"name\":\"updateLiquidationContract\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateLiquidationContract\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateLiquidationContract.__type-33\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.updateLiquidationContract\"},{\"kind\":1024,\"name\":\"updateProtocolFee\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.updateProtocolFee.__type-35\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.updateProtocolFee\"},{\"kind\":1024,\"name\":\"emitLoan\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.emitLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.emitLoan.__type-37\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.emitLoan\"},{\"kind\":1024,\"name\":\"refinanceFull\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.refinanceFull\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.refinanceFull.__type-39\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.refinanceFull\"},{\"kind\":1024,\"name\":\"refinancePartial\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.refinancePartial\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.refinancePartial.__type-41\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.refinancePartial\"},{\"kind\":1024,\"name\":\"repayLoan\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.repayLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.repayLoan.__type-43\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.repayLoan\"},{\"kind\":1024,\"name\":\"setMaxSources\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setMaxSources\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setMaxSources.__type-45\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.setMaxSources\"},{\"kind\":1024,\"name\":\"multicall\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.multicall\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.multicall.__type-47\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.multicall\"},{\"kind\":1024,\"name\":\"delegate\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.delegate\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.delegate.__type-49\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.delegate\"},{\"kind\":1024,\"name\":\"revokeDelegate\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.revokeDelegate\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.revokeDelegate.__type-51\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.revokeDelegate\"},{\"kind\":1024,\"name\":\"executeFlashAction\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.executeFlashAction\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.executeFlashAction.__type-53\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.executeFlashAction\"},{\"kind\":1024,\"name\":\"extendLoan\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.extendLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.extendLoan.__type-55\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.extendLoan\"},{\"kind\":1024,\"name\":\"setDelegateRegistry\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setDelegateRegistry\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setDelegateRegistry.__type-57\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.setDelegateRegistry\"},{\"kind\":1024,\"name\":\"setFlashActionContract\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setFlashActionContract\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setFlashActionContract.__type-59\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.setFlashActionContract\"},{\"kind\":1024,\"name\":\"setMinLockPeriod\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setMinLockPeriod\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#safeContractWrite.__type-2.setMinLockPeriod.__type-61\",\"classes\":\"\",\"parent\":\"Internal.MslV5.safeContractWrite.__type.setMinLockPeriod\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.MslV5.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.MslV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV5.html#parseEventLogs.__type-63\",\"classes\":\"\",\"parent\":\"Internal.MslV5.parseEventLogs\"},{\"kind\":128,\"name\":\"MslV6\",\"url\":\"classes/Internal.MslV6.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.MslV6.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"signOffer\",\"url\":\"classes/Internal.MslV6.html#signOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"signRenegotiationOffer\",\"url\":\"classes/Internal.MslV6.html#signRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"cancelOffer\",\"url\":\"classes/Internal.MslV6.html#cancelOffer-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"cancelAllOffers\",\"url\":\"classes/Internal.MslV6.html#cancelAllOffers-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"cancelRefinanceOffer\",\"url\":\"classes/Internal.MslV6.html#cancelRefinanceOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"cancelAllRenegotiations\",\"url\":\"classes/Internal.MslV6.html#cancelAllRenegotiations\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"emitLoan\",\"url\":\"classes/Internal.MslV6.html#emitLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"revokeDelegationsAndEmitLoan\",\"url\":\"classes/Internal.MslV6.html#revokeDelegationsAndEmitLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"repayLoan\",\"url\":\"classes/Internal.MslV6.html#repayLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"getRemainingLockupSeconds\",\"url\":\"classes/Internal.MslV6.html#getRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"isEndLockedUp\",\"url\":\"classes/Internal.MslV6.html#isEndLockedUp\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"refinanceBatch\",\"url\":\"classes/Internal.MslV6.html#refinanceBatch\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"refinanceFullLoan\",\"url\":\"classes/Internal.MslV6.html#refinanceFullLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"refinancePartialLoan\",\"url\":\"classes/Internal.MslV6.html#refinancePartialLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"addTranche\",\"url\":\"classes/Internal.MslV6.html#addTranche\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"refinanceFromOffers\",\"url\":\"classes/Internal.MslV6.html#refinanceFromOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"delegateMulticall\",\"url\":\"classes/Internal.MslV6.html#delegateMulticall\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"delegate\",\"url\":\"classes/Internal.MslV6.html#delegate-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"revokeDelegate\",\"url\":\"classes/Internal.MslV6.html#revokeDelegate-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":2048,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.MslV6.html#liquidateLoan-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.MslV6.html#abi\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.MslV6.html#address\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.MslV6.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.MslV6.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.MslV6.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.MslV6.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.MslV6.html#contract\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.liquidateLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.liquidateLoan.__type-5\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.liquidateLoan\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.onERC721Received.__type-7\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"addWhitelistedCallbackContract\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.addWhitelistedCallbackContract\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.addWhitelistedCallbackContract.__type-9\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.addWhitelistedCallbackContract\"},{\"kind\":1024,\"name\":\"cancelAllOffers\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.cancelAllOffers\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.cancelAllOffers.__type-11\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.cancelAllOffers\"},{\"kind\":1024,\"name\":\"cancelOffer\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.cancelOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.cancelOffer.__type-13\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.cancelOffer\"},{\"kind\":1024,\"name\":\"cancelRenegotiationOffer\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.cancelRenegotiationOffer\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.cancelRenegotiationOffer.__type-15\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.cancelRenegotiationOffer\"},{\"kind\":1024,\"name\":\"loanLiquidated\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.loanLiquidated\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.loanLiquidated.__type-17\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.loanLiquidated\"},{\"kind\":1024,\"name\":\"removeWhitelistedCallbackContract\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.removeWhitelistedCallbackContract\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.removeWhitelistedCallbackContract.__type-19\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.removeWhitelistedCallbackContract\"},{\"kind\":1024,\"name\":\"setProtocolFee\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.setProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.setProtocolFee.__type-21\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.setProtocolFee\"},{\"kind\":1024,\"name\":\"updateLiquidationAuctionDuration\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateLiquidationAuctionDuration\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateLiquidationAuctionDuration.__type-23\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.updateLiquidationAuctionDuration\"},{\"kind\":1024,\"name\":\"updateLiquidationContract\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateLiquidationContract\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateLiquidationContract.__type-25\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.updateLiquidationContract\"},{\"kind\":1024,\"name\":\"updateProtocolFee\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateProtocolFee.__type-27\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.updateProtocolFee\"},{\"kind\":1024,\"name\":\"emitLoan\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.emitLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.emitLoan.__type-29\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.emitLoan\"},{\"kind\":1024,\"name\":\"refinanceFull\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.refinanceFull\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.refinanceFull.__type-31\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.refinanceFull\"},{\"kind\":1024,\"name\":\"refinancePartial\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.refinancePartial\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.refinancePartial.__type-33\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.refinancePartial\"},{\"kind\":1024,\"name\":\"repayLoan\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.repayLoan\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.repayLoan.__type-35\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.repayLoan\"},{\"kind\":1024,\"name\":\"multicall\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.multicall\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.multicall.__type-37\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.multicall\"},{\"kind\":1024,\"name\":\"delegate\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.delegate\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.delegate.__type-39\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.delegate\"},{\"kind\":1024,\"name\":\"revokeDelegate\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.revokeDelegate\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.revokeDelegate.__type-41\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.revokeDelegate\"},{\"kind\":1024,\"name\":\"executeFlashAction\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.executeFlashAction\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.executeFlashAction.__type-43\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.executeFlashAction\"},{\"kind\":1024,\"name\":\"setFlashActionContract\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.setFlashActionContract\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.setFlashActionContract.__type-45\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.setFlashActionContract\"},{\"kind\":1024,\"name\":\"setMinLockPeriod\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.setMinLockPeriod\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.setMinLockPeriod.__type-47\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.setMinLockPeriod\"},{\"kind\":1024,\"name\":\"requestTransferOwner\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.requestTransferOwner\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.requestTransferOwner.__type-49\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.requestTransferOwner\"},{\"kind\":1024,\"name\":\"updateMinImprovementApr\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateMinImprovementApr\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.updateMinImprovementApr.__type-51\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.updateMinImprovementApr\"},{\"kind\":1024,\"name\":\"addNewTranche\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.addNewTranche\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.addNewTranche.__type-53\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.addNewTranche\"},{\"kind\":1024,\"name\":\"refinanceFromLoanExecutionData\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.refinanceFromLoanExecutionData\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#safeContractWrite.__type-2.refinanceFromLoanExecutionData.__type-55\",\"classes\":\"\",\"parent\":\"Internal.MslV6.safeContractWrite.__type.refinanceFromLoanExecutionData\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.MslV6.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.MslV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.MslV6.html#parseEventLogs.__type-57\",\"classes\":\"\",\"parent\":\"Internal.MslV6.parseEventLogs\"},{\"kind\":128,\"name\":\"AllV4\",\"url\":\"classes/Internal.AllV4.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":1024,\"name\":\"LOAN_SETTLEMENT_ENCODE_TYPES\",\"url\":\"classes/Internal.AllV4.html#LOAN_SETTLEMENT_ENCODE_TYPES\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.AllV4.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":2048,\"name\":\"placeBid\",\"url\":\"classes/Internal.AllV4.html#placeBid-1\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":2048,\"name\":\"getRemainingLockupSeconds\",\"url\":\"classes/Internal.AllV4.html#getRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":2048,\"name\":\"settleAuctionWithBuyout\",\"url\":\"classes/Internal.AllV4.html#settleAuctionWithBuyout\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":2048,\"name\":\"settleAuction\",\"url\":\"classes/Internal.AllV4.html#settleAuction-1\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.AllV4.html#abi\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.AllV4.html#address\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.AllV4.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.AllV4.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.AllV4.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.AllV4.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.AllV4.html#contract\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"addLoanContract\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.addLoanContract\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.addLoanContract.__type-5\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.addLoanContract\"},{\"kind\":1024,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.liquidateLoan\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.liquidateLoan.__type-7\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.liquidateLoan\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.onERC721Received.__type-9\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"placeBid\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.placeBid\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.placeBid.__type-11\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.placeBid\"},{\"kind\":1024,\"name\":\"removeLoanContract\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.removeLoanContract\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.removeLoanContract.__type-13\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.removeLoanContract\"},{\"kind\":1024,\"name\":\"settleAuction\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.settleAuction\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.settleAuction.__type-15\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.settleAuction\"},{\"kind\":1024,\"name\":\"updateTriggerFee\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.updateTriggerFee\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#safeContractWrite.__type-2.updateTriggerFee.__type-17\",\"classes\":\"\",\"parent\":\"Internal.AllV4.safeContractWrite.__type.updateTriggerFee\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.AllV4.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.AllV4\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV4.html#parseEventLogs.__type-19\",\"classes\":\"\",\"parent\":\"Internal.AllV4.parseEventLogs\"},{\"kind\":128,\"name\":\"AllV5\",\"url\":\"classes/Internal.AllV5.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.AllV5.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":2048,\"name\":\"placeBid\",\"url\":\"classes/Internal.AllV5.html#placeBid-1\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":2048,\"name\":\"getRemainingLockupSeconds\",\"url\":\"classes/Internal.AllV5.html#getRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":2048,\"name\":\"settleAuctionWithBuyout\",\"url\":\"classes/Internal.AllV5.html#settleAuctionWithBuyout\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":2048,\"name\":\"settleAuction\",\"url\":\"classes/Internal.AllV5.html#settleAuction-1\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.AllV5.html#abi\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.AllV5.html#address\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.AllV5.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.AllV5.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.AllV5.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.AllV5.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.AllV5.html#contract\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"addLoanContract\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.addLoanContract\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.addLoanContract.__type-5\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.addLoanContract\"},{\"kind\":1024,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.liquidateLoan\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.liquidateLoan.__type-7\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.liquidateLoan\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.onERC721Received.__type-9\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"placeBid\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.placeBid\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.placeBid.__type-11\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.placeBid\"},{\"kind\":1024,\"name\":\"removeLoanContract\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.removeLoanContract\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.removeLoanContract.__type-13\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.removeLoanContract\"},{\"kind\":1024,\"name\":\"settleAuction\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.settleAuction\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.settleAuction.__type-15\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.settleAuction\"},{\"kind\":1024,\"name\":\"updateTriggerFee\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.updateTriggerFee\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.updateTriggerFee.__type-17\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.updateTriggerFee\"},{\"kind\":1024,\"name\":\"updateLiquidationDistributor\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.updateLiquidationDistributor\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#safeContractWrite.__type-2.updateLiquidationDistributor.__type-19\",\"classes\":\"\",\"parent\":\"Internal.AllV5.safeContractWrite.__type.updateLiquidationDistributor\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.AllV5.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.AllV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV5.html#parseEventLogs.__type-21\",\"classes\":\"\",\"parent\":\"Internal.AllV5.parseEventLogs\"},{\"kind\":128,\"name\":\"AllV6\",\"url\":\"classes/Internal.AllV6.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.AllV6.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":2048,\"name\":\"placeBid\",\"url\":\"classes/Internal.AllV6.html#placeBid-1\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":2048,\"name\":\"getRemainingLockupSeconds\",\"url\":\"classes/Internal.AllV6.html#getRemainingLockupSeconds\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":2048,\"name\":\"settleAuctionWithBuyout\",\"url\":\"classes/Internal.AllV6.html#settleAuctionWithBuyout\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":2048,\"name\":\"settleAuction\",\"url\":\"classes/Internal.AllV6.html#settleAuction-1\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.AllV6.html#abi\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.AllV6.html#address\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.AllV6.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.AllV6.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.AllV6.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.AllV6.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.AllV6.html#contract\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"addLoanContract\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.addLoanContract\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.addLoanContract.__type-5\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.addLoanContract\"},{\"kind\":1024,\"name\":\"liquidateLoan\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.liquidateLoan\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.liquidateLoan.__type-7\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.liquidateLoan\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.onERC721Received.__type-9\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"placeBid\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.placeBid\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.placeBid.__type-11\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.placeBid\"},{\"kind\":1024,\"name\":\"removeLoanContract\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.removeLoanContract\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.removeLoanContract.__type-13\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.removeLoanContract\"},{\"kind\":1024,\"name\":\"settleAuction\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.settleAuction\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.settleAuction.__type-15\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.settleAuction\"},{\"kind\":1024,\"name\":\"updateTriggerFee\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.updateTriggerFee\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.updateTriggerFee.__type-17\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.updateTriggerFee\"},{\"kind\":1024,\"name\":\"updateLiquidationDistributor\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.updateLiquidationDistributor\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.updateLiquidationDistributor.__type-19\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.updateLiquidationDistributor\"},{\"kind\":1024,\"name\":\"setTimeForMainLenderToBuy\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.setTimeForMainLenderToBuy\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.setTimeForMainLenderToBuy.__type-21\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.setTimeForMainLenderToBuy\"},{\"kind\":1024,\"name\":\"settleWithBuyout\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.settleWithBuyout\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#safeContractWrite.__type-2.settleWithBuyout.__type-23\",\"classes\":\"\",\"parent\":\"Internal.AllV6.safeContractWrite.__type.settleWithBuyout\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.AllV6.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.AllV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.AllV6.html#parseEventLogs.__type-25\",\"classes\":\"\",\"parent\":\"Internal.AllV6.parseEventLogs\"},{\"kind\":128,\"name\":\"UserVaultV5\",\"url\":\"classes/Internal.UserVaultV5.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.UserVaultV5.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":2048,\"name\":\"burnAndWithdraw\",\"url\":\"classes/Internal.UserVaultV5.html#burnAndWithdraw-1\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":2048,\"name\":\"createVault\",\"url\":\"classes/Internal.UserVaultV5.html#createVault\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":2048,\"name\":\"depositERC721s\",\"url\":\"classes/Internal.UserVaultV5.html#depositERC721s-1\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":2048,\"name\":\"depositERC1155s\",\"url\":\"classes/Internal.UserVaultV5.html#depositERC1155s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.UserVaultV5.html#abi\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.UserVaultV5.html#address\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.UserVaultV5.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.UserVaultV5.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.UserVaultV5.html#contract\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.onERC721Received.__type-5\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"approve\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.approve\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.approve.__type-7\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.approve\"},{\"kind\":1024,\"name\":\"transferFrom\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.transferFrom\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.transferFrom.__type-9\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.transferFrom\"},{\"kind\":1024,\"name\":\"safeTransferFrom\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.safeTransferFrom\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.safeTransferFrom.__type-11\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.safeTransferFrom\"},{\"kind\":1024,\"name\":\"setApprovalForAll\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.setApprovalForAll\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.setApprovalForAll.__type-13\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.setApprovalForAll\"},{\"kind\":1024,\"name\":\"mint\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.mint\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.mint.__type-15\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.mint\"},{\"kind\":1024,\"name\":\"burn\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.burn\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.burn.__type-17\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.burn\"},{\"kind\":1024,\"name\":\"burnAndWithdraw\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.burnAndWithdraw\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.burnAndWithdraw.__type-19\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.burnAndWithdraw\"},{\"kind\":1024,\"name\":\"depositERC20\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositERC20\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositERC20.__type-21\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.depositERC20\"},{\"kind\":1024,\"name\":\"depositERC721\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositERC721\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositERC721.__type-23\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.depositERC721\"},{\"kind\":1024,\"name\":\"depositERC721s\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositERC721s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositERC721s.__type-25\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.depositERC721s\"},{\"kind\":1024,\"name\":\"depositEth\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositEth\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.depositEth.__type-27\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.depositEth\"},{\"kind\":1024,\"name\":\"withdrawERC20\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC20\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC20.__type-29\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.withdrawERC20\"},{\"kind\":1024,\"name\":\"withdrawERC20s\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC20s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC20s.__type-31\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.withdrawERC20s\"},{\"kind\":1024,\"name\":\"withdrawERC721\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC721\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC721.__type-33\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.withdrawERC721\"},{\"kind\":1024,\"name\":\"withdrawERC721s\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC721s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawERC721s.__type-35\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.withdrawERC721s\"},{\"kind\":1024,\"name\":\"withdrawEth\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawEth\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#safeContractWrite.__type-2.withdrawEth.__type-37\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.safeContractWrite.__type.withdrawEth\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.UserVaultV5.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV5.html#parseEventLogs.__type-39\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV5.parseEventLogs\"},{\"kind\":128,\"name\":\"UserVaultV6\",\"url\":\"classes/Internal.UserVaultV6.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.UserVaultV6.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":2048,\"name\":\"burnAndWithdraw\",\"url\":\"classes/Internal.UserVaultV6.html#burnAndWithdraw-1\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":2048,\"name\":\"createVault\",\"url\":\"classes/Internal.UserVaultV6.html#createVault\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":2048,\"name\":\"depositERC721s\",\"url\":\"classes/Internal.UserVaultV6.html#depositERC721s-1\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":2048,\"name\":\"depositERC1155s\",\"url\":\"classes/Internal.UserVaultV6.html#depositERC1155s-1\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.UserVaultV6.html#abi\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.UserVaultV6.html#address\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.UserVaultV6.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.UserVaultV6.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.UserVaultV6.html#contract\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.onERC721Received.__type-5\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"approve\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.approve\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.approve.__type-7\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.approve\"},{\"kind\":1024,\"name\":\"transferFrom\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.transferFrom\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.transferFrom.__type-9\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.transferFrom\"},{\"kind\":1024,\"name\":\"safeTransferFrom\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.safeTransferFrom\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.safeTransferFrom.__type-11\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.safeTransferFrom\"},{\"kind\":1024,\"name\":\"setApprovalForAll\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.setApprovalForAll\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.setApprovalForAll.__type-13\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.setApprovalForAll\"},{\"kind\":1024,\"name\":\"mint\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.mint\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.mint.__type-15\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.mint\"},{\"kind\":1024,\"name\":\"burn\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.burn\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.burn.__type-17\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.burn\"},{\"kind\":1024,\"name\":\"burnAndWithdraw\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.burnAndWithdraw\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.burnAndWithdraw.__type-19\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.burnAndWithdraw\"},{\"kind\":1024,\"name\":\"depositERC20\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC20\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC20.__type-21\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.depositERC20\"},{\"kind\":1024,\"name\":\"depositERC721\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC721\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC721.__type-23\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.depositERC721\"},{\"kind\":1024,\"name\":\"depositERC721s\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC721s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC721s.__type-25\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.depositERC721s\"},{\"kind\":1024,\"name\":\"depositEth\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositEth\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositEth.__type-27\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.depositEth\"},{\"kind\":1024,\"name\":\"withdrawERC20\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC20\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC20.__type-29\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.withdrawERC20\"},{\"kind\":1024,\"name\":\"withdrawERC20s\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC20s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC20s.__type-31\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.withdrawERC20s\"},{\"kind\":1024,\"name\":\"withdrawERC721\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC721\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC721.__type-33\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.withdrawERC721\"},{\"kind\":1024,\"name\":\"withdrawERC721s\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC721s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC721s.__type-35\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.withdrawERC721s\"},{\"kind\":1024,\"name\":\"withdrawEth\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawEth\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawEth.__type-37\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.withdrawEth\"},{\"kind\":1024,\"name\":\"depositERC1155\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC1155\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC1155.__type-39\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.depositERC1155\"},{\"kind\":1024,\"name\":\"depositERC1155s\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC1155s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.depositERC1155s.__type-41\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.depositERC1155s\"},{\"kind\":1024,\"name\":\"withdrawERC1155\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC1155\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC1155.__type-43\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.withdrawERC1155\"},{\"kind\":1024,\"name\":\"withdrawERC1155s\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC1155s\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.withdrawERC1155s.__type-45\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.withdrawERC1155s\"},{\"kind\":1024,\"name\":\"onERC1155BatchReceived\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.onERC1155BatchReceived\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.onERC1155BatchReceived.__type-47\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.onERC1155BatchReceived\"},{\"kind\":1024,\"name\":\"onERC1155Received\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.onERC1155Received\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#safeContractWrite.__type-2.onERC1155Received.__type-49\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.safeContractWrite.__type.onERC1155Received\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.UserVaultV6.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.UserVaultV6.html#parseEventLogs.__type-51\",\"classes\":\"\",\"parent\":\"Internal.UserVaultV6.parseEventLogs\"},{\"kind\":128,\"name\":\"PurchaseBundler\",\"url\":\"classes/Internal.PurchaseBundler.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.PurchaseBundler.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":2048,\"name\":\"sell\",\"url\":\"classes/Internal.PurchaseBundler.html#sell-1\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.PurchaseBundler.html#abi\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.PurchaseBundler.html#address\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.PurchaseBundler.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.PurchaseBundler.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.PurchaseBundler.html#contract\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite\"},{\"kind\":1024,\"name\":\"transferOwnership\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.transferOwnership\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.transferOwnership.__type-3\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.transferOwnership\"},{\"kind\":1024,\"name\":\"onERC721Received\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.onERC721Received\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.onERC721Received.__type-5\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.onERC721Received\"},{\"kind\":1024,\"name\":\"setProtocolFee\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.setProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.setProtocolFee.__type-7\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.setProtocolFee\"},{\"kind\":1024,\"name\":\"updateProtocolFee\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.updateProtocolFee\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.updateProtocolFee.__type-9\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.updateProtocolFee\"},{\"kind\":1024,\"name\":\"afterNFTTransfer\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.afterNFTTransfer\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.afterNFTTransfer.__type-11\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.afterNFTTransfer\"},{\"kind\":1024,\"name\":\"afterPrincipalTransfer\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.afterPrincipalTransfer\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.afterPrincipalTransfer.__type-13\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.afterPrincipalTransfer\"},{\"kind\":1024,\"name\":\"buy\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.buy\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.buy.__type-15\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.buy\"},{\"kind\":1024,\"name\":\"finalUpdateMultiSourceLoanAddress\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.finalUpdateMultiSourceLoanAddress\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.finalUpdateMultiSourceLoanAddress.__type-17\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.finalUpdateMultiSourceLoanAddress\"},{\"kind\":1024,\"name\":\"sell\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.sell\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.sell.__type-19\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.sell\"},{\"kind\":1024,\"name\":\"updateMultiSourceLoanAddressFirst\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.updateMultiSourceLoanAddressFirst\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.updateMultiSourceLoanAddressFirst.__type-21\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.updateMultiSourceLoanAddressFirst\"},{\"kind\":1024,\"name\":\"requestTransferOwner\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.requestTransferOwner\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.requestTransferOwner.__type-23\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.requestTransferOwner\"},{\"kind\":1024,\"name\":\"setTaxes\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.setTaxes\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.setTaxes.__type-25\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.setTaxes\"},{\"kind\":1024,\"name\":\"updateTaxes\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.updateTaxes\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#safeContractWrite.__type-2.updateTaxes.__type-27\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.safeContractWrite.__type.updateTaxes\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.PurchaseBundler.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.PurchaseBundler.html#parseEventLogs.__type-29\",\"classes\":\"\",\"parent\":\"Internal.PurchaseBundler.parseEventLogs\"},{\"kind\":128,\"name\":\"BaseContract\",\"url\":\"classes/Internal.BaseContract.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.BaseContract.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.BaseContract.html#abi\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.BaseContract.html#address\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.BaseContract.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.BaseContract.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.BaseContract.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.BaseContract.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.BaseContract.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.BaseContract.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.BaseContract.html#contract\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.BaseContract.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.BaseContract.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.BaseContract\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.BaseContract.html#parseEventLogs.__type-2\",\"classes\":\"\",\"parent\":\"Internal.BaseContract.parseEventLogs\"},{\"kind\":4194304,\"name\":\"Erc721Or1155ABI\",\"url\":\"types/Internal.Erc721Or1155ABI.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":128,\"name\":\"OldERC721Wrapper\",\"url\":\"classes/Internal.OldERC721Wrapper.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Internal.OldERC721Wrapper.html#constructor\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":2048,\"name\":\"wrapOldERC721\",\"url\":\"classes/Internal.OldERC721Wrapper.html#wrapOldERC721\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":2048,\"name\":\"unwrap\",\"url\":\"classes/Internal.OldERC721Wrapper.html#unwrap-1\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":1024,\"name\":\"abi\",\"url\":\"classes/Internal.OldERC721Wrapper.html#abi\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":1024,\"name\":\"address\",\"url\":\"classes/Internal.OldERC721Wrapper.html#address\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":1024,\"name\":\"bcClient\",\"url\":\"classes/Internal.OldERC721Wrapper.html#bcClient\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#bcClient.__type\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.bcClient\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"classes/Internal.OldERC721Wrapper.html#wallet\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#wallet.__type-1\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.wallet\"},{\"kind\":1024,\"name\":\"contract\",\"url\":\"classes/Internal.OldERC721Wrapper.html#contract\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":1024,\"name\":\"safeContractWrite\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite\"},{\"kind\":1024,\"name\":\"approve\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.approve\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.approve.__type-3\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.approve\"},{\"kind\":1024,\"name\":\"transferFrom\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.transferFrom\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.transferFrom.__type-5\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.transferFrom\"},{\"kind\":1024,\"name\":\"safeTransferFrom\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.safeTransferFrom\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.safeTransferFrom.__type-7\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.safeTransferFrom\"},{\"kind\":1024,\"name\":\"setApprovalForAll\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.setApprovalForAll\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.setApprovalForAll.__type-9\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.setApprovalForAll\"},{\"kind\":1024,\"name\":\"unwrap\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.unwrap\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.unwrap.__type-11\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.unwrap\"},{\"kind\":1024,\"name\":\"unwrapBatch\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.unwrapBatch\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.unwrapBatch.__type-13\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.unwrapBatch\"},{\"kind\":1024,\"name\":\"wrap\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.wrap\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.wrap.__type-15\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.wrap\"},{\"kind\":1024,\"name\":\"wrapBatch\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.wrapBatch\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#safeContractWrite.__type-2.wrapBatch.__type-17\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.safeContractWrite.__type.wrapBatch\"},{\"kind\":1024,\"name\":\"parseEventLogs\",\"url\":\"classes/Internal.OldERC721Wrapper.html#parseEventLogs\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/Internal.OldERC721Wrapper.html#parseEventLogs.__type-19\",\"classes\":\"\",\"parent\":\"Internal.OldERC721Wrapper.parseEventLogs\"},{\"kind\":4194304,\"name\":\"Props\",\"url\":\"types/Internal.Props.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.Props.html#__type\",\"classes\":\"\",\"parent\":\"Internal.Props\"},{\"kind\":1024,\"name\":\"apiClient\",\"url\":\"types/Internal.Props.html#__type.apiClient\",\"classes\":\"\",\"parent\":\"Internal.Props.__type\"},{\"kind\":1024,\"name\":\"wallet\",\"url\":\"types/Internal.Props.html#__type.wallet\",\"classes\":\"\",\"parent\":\"Internal.Props.__type\"},{\"kind\":4194304,\"name\":\"GenerateCollectionOfferHashMutation\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type\"},{\"kind\":1024,\"name\":\"offer\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"offerHash\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.offerHash\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"offerId\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.offerId\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"borrowerAddress\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.borrowerAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"validators\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.validators\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.collection\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.collection.__type-2\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type.collection\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.collection.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type.collection.__type\"},{\"kind\":1024,\"name\":\"contractData\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.collection.__type-2.contractData\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type.collection.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.collection.__type-2.contractData.__type-3\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type.collection.__type.contractData\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.collection.__type-2.contractData.__type-3.__typename-3\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type.collection.__type.contractData.__type\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.GenerateCollectionOfferHashMutation.html#__type.offer.__type-1.collection.__type-2.contractData.__type-3.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateCollectionOfferHashMutation.__type.offer.__type.collection.__type.contractData.__type\"},{\"kind\":4194304,\"name\":\"SaveCollectionOfferMutation\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type\"},{\"kind\":1024,\"name\":\"offer\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.id\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"status\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.status\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.collection\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.collection.__type-2\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type.collection\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.collection.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type.collection.__type\"},{\"kind\":1024,\"name\":\"contractData\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.collection.__type-2.contractData\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type.collection.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.collection.__type-2.contractData.__type-3\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type.collection.__type.contractData\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.collection.__type-2.contractData.__type-3.__typename-3\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type.collection.__type.contractData.__type\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.SaveCollectionOfferMutation.html#__type.offer.__type-1.collection.__type-2.contractData.__type-3.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.SaveCollectionOfferMutation.__type.offer.__type.collection.__type.contractData.__type\"},{\"kind\":4194304,\"name\":\"GenerateSingleNftOfferHashMutation\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type\"},{\"kind\":1024,\"name\":\"offer\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"offerHash\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.offerHash\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"offerId\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.offerId\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"borrowerAddress\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.borrowerAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"validators\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.validators\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"nft\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.nft\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.nft.__type-2\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type.nft\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.nft.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type.nft.__type\"},{\"kind\":1024,\"name\":\"tokenId\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.nft.__type-2.tokenId\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type.nft.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.GenerateSingleNftOfferHashMutation.html#__type.offer.__type-1.nft.__type-2.collection\",\"classes\":\"\",\"parent\":\"Internal.GenerateSingleNftOfferHashMutation.__type.offer.__type.nft.__type\"},{\"kind\":4194304,\"name\":\"SaveSingleNftOfferMutation\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type\"},{\"kind\":1024,\"name\":\"offer\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.id\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"status\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.status\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"nft\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.nft\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.nft.__type-2\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type.nft\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.nft.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type.nft.__type\"},{\"kind\":1024,\"name\":\"tokenId\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.nft.__type-2.tokenId\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type.nft.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.SaveSingleNftOfferMutation.html#__type.offer.__type-1.nft.__type-2.collection\",\"classes\":\"\",\"parent\":\"Internal.SaveSingleNftOfferMutation.__type.offer.__type.nft.__type\"},{\"kind\":4194304,\"name\":\"GenerateRenegotiationOfferHashMutation\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type\"},{\"kind\":1024,\"name\":\"offer\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"loanId\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.loanId\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"renegotiationId\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.renegotiationId\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"offerHash\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.offerHash\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"lenderAddress\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.lenderAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"signerAddress\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.signerAddress\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"nft\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.nft\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.nft.__type-2\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type.nft\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.nft.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type.nft.__type\"},{\"kind\":1024,\"name\":\"tokenId\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.nft.__type-2.tokenId\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type.nft.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.GenerateRenegotiationOfferHashMutation.html#__type.offer.__type-1.nft.__type-2.collection\",\"classes\":\"\",\"parent\":\"Internal.GenerateRenegotiationOfferHashMutation.__type.offer.__type.nft.__type\"},{\"kind\":4194304,\"name\":\"SaveRenegotiationOfferMutation\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.SaveRenegotiationOfferMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.SaveRenegotiationOfferMutation.__type\"},{\"kind\":1024,\"name\":\"offer\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html#__type.offer\",\"classes\":\"\",\"parent\":\"Internal.SaveRenegotiationOfferMutation.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html#__type.offer.__type-1\",\"classes\":\"\",\"parent\":\"Internal.SaveRenegotiationOfferMutation.__type.offer\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html#__type.offer.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.SaveRenegotiationOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html#__type.offer.__type-1.id\",\"classes\":\"\",\"parent\":\"Internal.SaveRenegotiationOfferMutation.__type.offer.__type\"},{\"kind\":1024,\"name\":\"status\",\"url\":\"types/Internal.SaveRenegotiationOfferMutation.html#__type.offer.__type-1.status\",\"classes\":\"\",\"parent\":\"Internal.SaveRenegotiationOfferMutation.__type.offer.__type\"},{\"kind\":4194304,\"name\":\"NftOrderInput\",\"url\":\"types/Internal.NftOrderInput.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.NftOrderInput.html#__type\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput\"},{\"kind\":1024,\"name\":\"amount\",\"url\":\"types/Internal.NftOrderInput.html#__type.amount\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"contractAddress\",\"url\":\"types/Internal.NftOrderInput.html#__type.contractAddress\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"currencyAddress\",\"url\":\"types/Internal.NftOrderInput.html#__type.currencyAddress\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"expirationTime\",\"url\":\"types/Internal.NftOrderInput.html#__type.expirationTime\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"isAsk\",\"url\":\"types/Internal.NftOrderInput.html#__type.isAsk\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"repaymentSignature\",\"url\":\"types/Internal.NftOrderInput.html#__type.repaymentSignature\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"signature\",\"url\":\"types/Internal.NftOrderInput.html#__type.signature\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"startTime\",\"url\":\"types/Internal.NftOrderInput.html#__type.startTime\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"taker\",\"url\":\"types/Internal.NftOrderInput.html#__type.taker\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":1024,\"name\":\"tokenId\",\"url\":\"types/Internal.NftOrderInput.html#__type.tokenId\",\"classes\":\"\",\"parent\":\"Internal.NftOrderInput.__type\"},{\"kind\":4194304,\"name\":\"PublishOrderMutation\",\"url\":\"types/Internal.PublishOrderMutation.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.PublishOrderMutation.html#__type\",\"classes\":\"\",\"parent\":\"Internal.PublishOrderMutation\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.PublishOrderMutation.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.PublishOrderMutation.__type\"},{\"kind\":1024,\"name\":\"result\",\"url\":\"types/Internal.PublishOrderMutation.html#__type.result\",\"classes\":\"\",\"parent\":\"Internal.PublishOrderMutation.__type\"},{\"kind\":4194304,\"name\":\"CollectionsQuery\",\"url\":\"types/Internal.CollectionsQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionsQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.CollectionsQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type\"},{\"kind\":1024,\"name\":\"collections\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections.__type\"},{\"kind\":1024,\"name\":\"pageInfo\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1.pageInfo\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1.pageInfo.__type-2\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections.__type.pageInfo\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1.pageInfo.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"endCursor\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1.pageInfo.__type-2.endCursor\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"hasNextPage\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1.pageInfo.__type-2.hasNextPage\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"edges\",\"url\":\"types/Internal.CollectionsQuery.html#__type.collections.__type-1.edges\",\"classes\":\"\",\"parent\":\"Internal.CollectionsQuery.__type.collections.__type\"},{\"kind\":4194304,\"name\":\"CollectionByContractAddressQuery\",\"url\":\"types/Internal.CollectionByContractAddressQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionByContractAddressQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.CollectionByContractAddressQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.CollectionByContractAddressQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.CollectionByContractAddressQuery.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.CollectionByContractAddressQuery.html#__type.collection\",\"classes\":\"\",\"parent\":\"Internal.CollectionByContractAddressQuery.__type\"},{\"kind\":4194304,\"name\":\"CollectionsIdByContractAddressQuery\",\"url\":\"types/Internal.CollectionsIdByContractAddressQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionsIdByContractAddressQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.CollectionsIdByContractAddressQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.CollectionsIdByContractAddressQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.CollectionsIdByContractAddressQuery.__type\"},{\"kind\":1024,\"name\":\"collections\",\"url\":\"types/Internal.CollectionsIdByContractAddressQuery.html#__type.collections\",\"classes\":\"\",\"parent\":\"Internal.CollectionsIdByContractAddressQuery.__type\"},{\"kind\":4194304,\"name\":\"CollectionIdBySlugQuery\",\"url\":\"types/Internal.CollectionIdBySlugQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.CollectionIdBySlugQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.CollectionIdBySlugQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.CollectionIdBySlugQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.CollectionIdBySlugQuery.__type\"},{\"kind\":1024,\"name\":\"collection\",\"url\":\"types/Internal.CollectionIdBySlugQuery.html#__type.collection\",\"classes\":\"\",\"parent\":\"Internal.CollectionIdBySlugQuery.__type\"},{\"kind\":4194304,\"name\":\"ListListingsQuery\",\"url\":\"types/Internal.ListListingsQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListListingsQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListListingsQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type\"},{\"kind\":1024,\"name\":\"result\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result.__type\"},{\"kind\":1024,\"name\":\"pageInfo\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1.pageInfo\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1.pageInfo.__type-2\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result.__type.pageInfo\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1.pageInfo.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"endCursor\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1.pageInfo.__type-2.endCursor\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"hasNextPage\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1.pageInfo.__type-2.hasNextPage\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"edges\",\"url\":\"types/Internal.ListListingsQuery.html#__type.result.__type-1.edges\",\"classes\":\"\",\"parent\":\"Internal.ListListingsQuery.__type.result.__type\"},{\"kind\":4194304,\"name\":\"ListLoansQuery\",\"url\":\"types/Internal.ListLoansQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListLoansQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListLoansQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type\"},{\"kind\":1024,\"name\":\"loans\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type\"},{\"kind\":1024,\"name\":\"totalCount\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.totalCount\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type\"},{\"kind\":1024,\"name\":\"pageInfo\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.pageInfo\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.pageInfo.__type-2\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type.pageInfo\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.pageInfo.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"endCursor\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.pageInfo.__type-2.endCursor\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"hasNextPage\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.pageInfo.__type-2.hasNextPage\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"edges\",\"url\":\"types/Internal.ListLoansQuery.html#__type.loans.__type-1.edges\",\"classes\":\"\",\"parent\":\"Internal.ListLoansQuery.__type.loans.__type\"},{\"kind\":4194304,\"name\":\"NftIdByContractAddressAndTokenIdQuery\",\"url\":\"types/Internal.NftIdByContractAddressAndTokenIdQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.NftIdByContractAddressAndTokenIdQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.NftIdByContractAddressAndTokenIdQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.NftIdByContractAddressAndTokenIdQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.NftIdByContractAddressAndTokenIdQuery.__type\"},{\"kind\":1024,\"name\":\"nft\",\"url\":\"types/Internal.NftIdByContractAddressAndTokenIdQuery.html#__type.nft\",\"classes\":\"\",\"parent\":\"Internal.NftIdByContractAddressAndTokenIdQuery.__type\"},{\"kind\":4194304,\"name\":\"NftIdBySlugTokenIdQuery\",\"url\":\"types/Internal.NftIdBySlugTokenIdQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.NftIdBySlugTokenIdQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.NftIdBySlugTokenIdQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.NftIdBySlugTokenIdQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.NftIdBySlugTokenIdQuery.__type\"},{\"kind\":1024,\"name\":\"nft\",\"url\":\"types/Internal.NftIdBySlugTokenIdQuery.html#__type.nft\",\"classes\":\"\",\"parent\":\"Internal.NftIdBySlugTokenIdQuery.__type\"},{\"kind\":4194304,\"name\":\"OwnedNftsQuery\",\"url\":\"types/Internal.OwnedNftsQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type\"},{\"kind\":1024,\"name\":\"ownedNfts\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts.__type\"},{\"kind\":1024,\"name\":\"pageInfo\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1.pageInfo\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1.pageInfo.__type-2\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts.__type.pageInfo\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1.pageInfo.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"endCursor\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1.pageInfo.__type-2.endCursor\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"hasNextPage\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1.pageInfo.__type-2.hasNextPage\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"edges\",\"url\":\"types/Internal.OwnedNftsQuery.html#__type.ownedNfts.__type-1.edges\",\"classes\":\"\",\"parent\":\"Internal.OwnedNftsQuery.__type.ownedNfts.__type\"},{\"kind\":4194304,\"name\":\"ListOffersQuery\",\"url\":\"types/Internal.ListOffersQuery.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListOffersQuery.html#__type\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListOffersQuery.html#__type.__typename\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type\"},{\"kind\":1024,\"name\":\"result\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1.__typename-1\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result.__type\"},{\"kind\":1024,\"name\":\"pageInfo\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1.pageInfo\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1.pageInfo.__type-2\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result.__type.pageInfo\"},{\"kind\":1024,\"name\":\"__typename\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1.pageInfo.__type-2.__typename-2\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"endCursor\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1.pageInfo.__type-2.endCursor\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"hasNextPage\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1.pageInfo.__type-2.hasNextPage\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result.__type.pageInfo.__type\"},{\"kind\":1024,\"name\":\"edges\",\"url\":\"types/Internal.ListOffersQuery.html#__type.result.__type-1.edges\",\"classes\":\"\",\"parent\":\"Internal.ListOffersQuery.__type.result.__type\"},{\"kind\":4194304,\"name\":\"Maybe\",\"url\":\"types/Internal.Maybe.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"Scalars\",\"url\":\"types/Internal.Scalars.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.Scalars.html#__type\",\"classes\":\"\",\"parent\":\"Internal.Scalars\"},{\"kind\":1024,\"name\":\"ID\",\"url\":\"types/Internal.Scalars.html#__type.ID\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"String\",\"url\":\"types/Internal.Scalars.html#__type.String\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Boolean\",\"url\":\"types/Internal.Scalars.html#__type.Boolean\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Int\",\"url\":\"types/Internal.Scalars.html#__type.Int\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Float\",\"url\":\"types/Internal.Scalars.html#__type.Float\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Address\",\"url\":\"types/Internal.Scalars.html#__type.Address\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"BigInt\",\"url\":\"types/Internal.Scalars.html#__type.BigInt\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"DateTime\",\"url\":\"types/Internal.Scalars.html#__type.DateTime\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Hash\",\"url\":\"types/Internal.Scalars.html#__type.Hash\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Hex\",\"url\":\"types/Internal.Scalars.html#__type.Hex\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"JSON\",\"url\":\"types/Internal.Scalars.html#__type.JSON\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Signature\",\"url\":\"types/Internal.Scalars.html#__type.Signature\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":1024,\"name\":\"Void\",\"url\":\"types/Internal.Scalars.html#__type.Void\",\"classes\":\"\",\"parent\":\"Internal.Scalars.__type\"},{\"kind\":4194304,\"name\":\"OptionalNullable\",\"url\":\"types/Internal.OptionalNullable.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"MakeOfferType\",\"url\":\"types/Internal.MakeOfferType.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"LoanV4\",\"url\":\"types/Internal.LoanV4.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"LoanV5\",\"url\":\"types/Internal.LoanV5.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"LoanV6\",\"url\":\"types/Internal.LoanV6.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"AuctionV5\",\"url\":\"types/Internal.AuctionV5.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"AuctionV6\",\"url\":\"types/Internal.AuctionV6.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"HexString\",\"url\":\"types/Internal.HexString.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":8,\"name\":\"LoanSortField\",\"url\":\"enums/Internal.LoanSortField.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":16,\"name\":\"AprBps\",\"url\":\"enums/Internal.LoanSortField.html#AprBps\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"Duration\",\"url\":\"enums/Internal.LoanSortField.html#Duration\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"EffectiveAprBps\",\"url\":\"enums/Internal.LoanSortField.html#EffectiveAprBps\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"EndDate\",\"url\":\"enums/Internal.LoanSortField.html#EndDate\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"ExpectedInterest\",\"url\":\"enums/Internal.LoanSortField.html#ExpectedInterest\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"ExpirationDate\",\"url\":\"enums/Internal.LoanSortField.html#ExpirationDate\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"OriginationFee\",\"url\":\"enums/Internal.LoanSortField.html#OriginationFee\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"PaidInterest\",\"url\":\"enums/Internal.LoanSortField.html#PaidInterest\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"PrincipalAmount\",\"url\":\"enums/Internal.LoanSortField.html#PrincipalAmount\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"RenegotiationRequested\",\"url\":\"enums/Internal.LoanSortField.html#RenegotiationRequested\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"StartTime\",\"url\":\"enums/Internal.LoanSortField.html#StartTime\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":16,\"name\":\"TotalInterest\",\"url\":\"enums/Internal.LoanSortField.html#TotalInterest\",\"classes\":\"\",\"parent\":\"Internal.LoanSortField\"},{\"kind\":4194304,\"name\":\"Interval\",\"url\":\"types/Internal.Interval.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/Internal.Interval.html#__type\",\"classes\":\"\",\"parent\":\"Internal.Interval\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"types/Internal.Interval.html#__type.max\",\"classes\":\"\",\"parent\":\"Internal.Interval.__type\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"types/Internal.Interval.html#__type.min\",\"classes\":\"\",\"parent\":\"Internal.Interval.__type\"},{\"kind\":32,\"name\":\"multiSourceLoanABI\",\"url\":\"variables/Internal.multiSourceLoanABI.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"multiSourceLoanABI\",\"url\":\"variables/Internal.multiSourceLoanABI-1.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"multiSourceLoanAbi\",\"url\":\"variables/Internal.multiSourceLoanAbi-2.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"auctionLoanLiquidatorABI\",\"url\":\"variables/Internal.auctionLoanLiquidatorABI.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"auctionLoanLiquidatorABI\",\"url\":\"variables/Internal.auctionLoanLiquidatorABI-1.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"auctionWithBuyoutLoanLiquidatorAbi\",\"url\":\"variables/Internal.auctionWithBuyoutLoanLiquidatorAbi.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"userVaultABI\",\"url\":\"variables/Internal.userVaultABI.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"userVaultAbi\",\"url\":\"variables/Internal.userVaultAbi-1.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"purchaseBundlerAbi\",\"url\":\"variables/Internal.purchaseBundlerAbi.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"erc721ABI\",\"url\":\"variables/Internal.erc721ABI.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"erc1155Abi\",\"url\":\"variables/Internal.erc1155Abi.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"oldErc721WrapperAbi\",\"url\":\"variables/Internal.oldErc721WrapperAbi.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"Wallet\",\"url\":\"types/Internal.Wallet.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"RepayAbiTypeV4\",\"url\":\"types/Internal.RepayAbiTypeV4.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"RepayAbiTypeV5\",\"url\":\"types/Internal.RepayAbiTypeV5.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"RepayAbiTypeV6\",\"url\":\"types/Internal.RepayAbiTypeV6.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"PlaceBidAbiTypeV5\",\"url\":\"types/Internal.PlaceBidAbiTypeV5.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":4194304,\"name\":\"PlaceBidAbiTypeV6\",\"url\":\"types/Internal.PlaceBidAbiTypeV6.html\",\"classes\":\"\",\"parent\":\"Internal\"},{\"kind\":32,\"name\":\"auctionLoanLiquidatorAbi\",\"url\":\"variables/Internal.auctionLoanLiquidatorAbi-2.html\",\"classes\":\"\",\"parent\":\"Internal\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,62.538]],[\"comment/0\",[]],[\"name/1\",[1,44.96]],[\"comment/1\",[]],[\"name/2\",[2,62.538]],[\"comment/2\",[]],[\"name/3\",[3,44.293]],[\"comment/3\",[]],[\"name/4\",[4,14.128]],[\"comment/4\",[]],[\"name/5\",[5,67.647]],[\"comment/5\",[]],[\"name/6\",[6,46.444]],[\"comment/6\",[]],[\"name/7\",[4,14.128]],[\"comment/7\",[]],[\"name/8\",[7,59.174]],[\"comment/8\",[]],[\"name/9\",[8,67.647]],[\"comment/9\",[]],[\"name/10\",[4,14.128]],[\"comment/10\",[]],[\"name/11\",[9,62.538]],[\"comment/11\",[]],[\"name/12\",[10,62.538]],[\"comment/12\",[]],[\"name/13\",[11,67.647]],[\"comment/13\",[]],[\"name/14\",[12,67.647]],[\"comment/14\",[]],[\"name/15\",[13,67.647]],[\"comment/15\",[]],[\"name/16\",[14,51.552]],[\"comment/16\",[]],[\"name/17\",[15,51.552]],[\"comment/17\",[]],[\"name/18\",[16,56.66]],[\"comment/18\",[]],[\"name/19\",[17,59.174]],[\"comment/19\",[]],[\"name/20\",[18,67.647]],[\"comment/20\",[]],[\"name/21\",[19,56.66]],[\"comment/21\",[]],[\"name/22\",[20,59.174]],[\"comment/22\",[]],[\"name/23\",[21,59.174]],[\"comment/23\",[]],[\"name/24\",[22,56.66]],[\"comment/24\",[]],[\"name/25\",[23,59.174]],[\"comment/25\",[]],[\"name/26\",[24,56.66]],[\"comment/26\",[]],[\"name/27\",[25,67.647]],[\"comment/27\",[]],[\"name/28\",[26,51.552]],[\"comment/28\",[]],[\"name/29\",[27,56.66]],[\"comment/29\",[]],[\"name/30\",[28,51.552]],[\"comment/30\",[]],[\"name/31\",[29,67.647]],[\"comment/31\",[]],[\"name/32\",[30,62.538]],[\"comment/32\",[]],[\"name/33\",[31,67.647]],[\"comment/33\",[]],[\"name/34\",[32,67.647]],[\"comment/34\",[]],[\"name/35\",[33,67.647]],[\"comment/35\",[]],[\"name/36\",[34,59.174]],[\"comment/36\",[]],[\"name/37\",[35,50.301]],[\"comment/37\",[]],[\"name/38\",[36,59.174]],[\"comment/38\",[]],[\"name/39\",[37,56.66]],[\"comment/39\",[]],[\"name/40\",[38,51.552]],[\"comment/40\",[]],[\"name/41\",[39,56.66]],[\"comment/41\",[]],[\"name/42\",[40,56.66]],[\"comment/42\",[]],[\"name/43\",[41,56.66]],[\"comment/43\",[]],[\"name/44\",[42,56.66]],[\"comment/44\",[]],[\"name/45\",[43,56.66]],[\"comment/45\",[]],[\"name/46\",[44,56.66]],[\"comment/46\",[]],[\"name/47\",[45,52.983]],[\"comment/47\",[]],[\"name/48\",[46,52.983]],[\"comment/48\",[]],[\"name/49\",[47,56.66]],[\"comment/49\",[]],[\"name/50\",[48,48.187]],[\"comment/50\",[]],[\"name/51\",[49,51.552]],[\"comment/51\",[]],[\"name/52\",[50,51.552]],[\"comment/52\",[]],[\"name/53\",[51,56.66]],[\"comment/53\",[]],[\"name/54\",[52,67.647]],[\"comment/54\",[]],[\"name/55\",[53,67.647]],[\"comment/55\",[]],[\"name/56\",[54,67.647]],[\"comment/56\",[]],[\"name/57\",[55,67.647]],[\"comment/57\",[]],[\"name/58\",[56,67.647]],[\"comment/58\",[]],[\"name/59\",[57,67.647]],[\"comment/59\",[]],[\"name/60\",[58,67.647]],[\"comment/60\",[]],[\"name/61\",[59,67.647]],[\"comment/61\",[]],[\"name/62\",[60,67.647]],[\"comment/62\",[]],[\"name/63\",[61,67.647]],[\"comment/63\",[]],[\"name/64\",[62,67.647]],[\"comment/64\",[]],[\"name/65\",[63,67.647]],[\"comment/65\",[]],[\"name/66\",[64,62.538]],[\"comment/66\",[]],[\"name/67\",[65,67.647]],[\"comment/67\",[]],[\"name/68\",[66,67.647]],[\"comment/68\",[]],[\"name/69\",[67,67.647]],[\"comment/69\",[]],[\"name/70\",[68,67.647]],[\"comment/70\",[]],[\"name/71\",[69,67.647]],[\"comment/71\",[]],[\"name/72\",[70,67.647]],[\"comment/72\",[]],[\"name/73\",[71,67.647]],[\"comment/73\",[]],[\"name/74\",[72,67.647]],[\"comment/74\",[]],[\"name/75\",[73,67.647]],[\"comment/75\",[]],[\"name/76\",[74,67.647]],[\"comment/76\",[]],[\"name/77\",[75,67.647]],[\"comment/77\",[]],[\"name/78\",[76,67.647]],[\"comment/78\",[]],[\"name/79\",[77,67.647]],[\"comment/79\",[]],[\"name/80\",[78,67.647]],[\"comment/80\",[]],[\"name/81\",[79,67.647]],[\"comment/81\",[]],[\"name/82\",[80,67.647]],[\"comment/82\",[]],[\"name/83\",[81,67.647]],[\"comment/83\",[]],[\"name/84\",[82,67.647]],[\"comment/84\",[]],[\"name/85\",[83,49.188]],[\"comment/85\",[]],[\"name/86\",[84,67.647]],[\"comment/86\",[]],[\"name/87\",[85,67.647]],[\"comment/87\",[]],[\"name/88\",[86,48.187]],[\"comment/88\",[]],[\"name/89\",[87,62.538]],[\"comment/89\",[]],[\"name/90\",[88,67.647]],[\"comment/90\",[]],[\"name/91\",[89,52.983]],[\"comment/91\",[]],[\"name/92\",[90,62.538]],[\"comment/92\",[]],[\"name/93\",[91,67.647]],[\"comment/93\",[]],[\"name/94\",[92,62.538]],[\"comment/94\",[]],[\"name/95\",[93,50.301]],[\"comment/95\",[]],[\"name/96\",[94,67.647]],[\"comment/96\",[]],[\"name/97\",[95,54.654]],[\"comment/97\",[]],[\"name/98\",[96,62.538]],[\"comment/98\",[]],[\"name/99\",[97,67.647]],[\"comment/99\",[]],[\"name/100\",[98,67.647]],[\"comment/100\",[]],[\"name/101\",[99,67.647]],[\"comment/101\",[]],[\"name/102\",[100,67.647]],[\"comment/102\",[]],[\"name/103\",[0,62.538]],[\"comment/103\",[]],[\"name/104\",[101,67.647]],[\"comment/104\",[]],[\"name/105\",[102,67.647]],[\"comment/105\",[]],[\"name/106\",[103,62.538]],[\"comment/106\",[]],[\"name/107\",[104,62.538]],[\"comment/107\",[]],[\"name/108\",[105,62.538]],[\"comment/108\",[]],[\"name/109\",[106,67.647]],[\"comment/109\",[]],[\"name/110\",[107,62.538]],[\"comment/110\",[]],[\"name/111\",[108,67.647]],[\"comment/111\",[]],[\"name/112\",[109,67.647]],[\"comment/112\",[]],[\"name/113\",[110,62.538]],[\"comment/113\",[]],[\"name/114\",[111,67.647]],[\"comment/114\",[]],[\"name/115\",[112,67.647]],[\"comment/115\",[]],[\"name/116\",[113,67.647]],[\"comment/116\",[]],[\"name/117\",[114,67.647]],[\"comment/117\",[]],[\"name/118\",[115,67.647]],[\"comment/118\",[]],[\"name/119\",[116,67.647]],[\"comment/119\",[]],[\"name/120\",[4,14.128]],[\"comment/120\",[]],[\"name/121\",[117,59.174]],[\"comment/121\",[]],[\"name/122\",[118,59.174]],[\"comment/122\",[]],[\"name/123\",[119,62.538]],[\"comment/123\",[]],[\"name/124\",[120,67.647]],[\"comment/124\",[]],[\"name/125\",[4,14.128]],[\"comment/125\",[]],[\"name/126\",[121,51.552]],[\"comment/126\",[]],[\"name/127\",[122,67.647]],[\"comment/127\",[]],[\"name/128\",[123,48.187]],[\"comment/128\",[]],[\"name/129\",[124,67.647]],[\"comment/129\",[]],[\"name/130\",[125,67.647]],[\"comment/130\",[]],[\"name/131\",[126,67.647]],[\"comment/131\",[]],[\"name/132\",[95,54.654]],[\"comment/132\",[]],[\"name/133\",[127,67.647]],[\"comment/133\",[]],[\"name/134\",[117,59.174]],[\"comment/134\",[]],[\"name/135\",[118,59.174]],[\"comment/135\",[]],[\"name/136\",[128,67.647]],[\"comment/136\",[]],[\"name/137\",[35,50.301]],[\"comment/137\",[]],[\"name/138\",[129,67.647]],[\"comment/138\",[]],[\"name/139\",[130,67.647]],[\"comment/139\",[]],[\"name/140\",[119,62.538]],[\"comment/140\",[]],[\"name/141\",[131,67.647]],[\"comment/141\",[]],[\"name/142\",[132,67.647]],[\"comment/142\",[]],[\"name/143\",[133,67.647]],[\"comment/143\",[]],[\"name/144\",[134,67.647]],[\"comment/144\",[]],[\"name/145\",[4,14.128]],[\"comment/145\",[]],[\"name/146\",[35,50.301]],[\"comment/146\",[]],[\"name/147\",[135,67.647]],[\"comment/147\",[]],[\"name/148\",[136,67.647]],[\"comment/148\",[]],[\"name/149\",[117,59.174]],[\"comment/149\",[]],[\"name/150\",[118,59.174]],[\"comment/150\",[]],[\"name/151\",[137,67.647]],[\"comment/151\",[]],[\"name/152\",[138,67.647]],[\"comment/152\",[]],[\"name/153\",[139,67.647]],[\"comment/153\",[]],[\"name/154\",[140,67.647]],[\"comment/154\",[]],[\"name/155\",[141,67.647]],[\"comment/155\",[]],[\"name/156\",[3,44.293]],[\"comment/156\",[]],[\"name/157\",[4,14.128]],[\"comment/157\",[]],[\"name/158\",[142,62.538]],[\"comment/158\",[]],[\"name/159\",[2,62.538]],[\"comment/159\",[]],[\"name/160\",[1,44.96]],[\"comment/160\",[]],[\"name/161\",[143,67.647]],[\"comment/161\",[]],[\"name/162\",[4,14.128]],[\"comment/162\",[]],[\"name/163\",[144,67.647]],[\"comment/163\",[]],[\"name/164\",[4,14.128]],[\"comment/164\",[]],[\"name/165\",[145,67.647]],[\"comment/165\",[]],[\"name/166\",[146,67.647]],[\"comment/166\",[]],[\"name/167\",[147,67.647]],[\"comment/167\",[]],[\"name/168\",[148,67.647]],[\"comment/168\",[]],[\"name/169\",[149,67.647]],[\"comment/169\",[]],[\"name/170\",[150,67.647]],[\"comment/170\",[]],[\"name/171\",[151,62.538]],[\"comment/171\",[]],[\"name/172\",[152,62.538]],[\"comment/172\",[]],[\"name/173\",[153,62.538]],[\"comment/173\",[]],[\"name/174\",[9,62.538]],[\"comment/174\",[]],[\"name/175\",[154,67.647]],[\"comment/175\",[]],[\"name/176\",[10,62.538]],[\"comment/176\",[]],[\"name/177\",[121,51.552]],[\"comment/177\",[]],[\"name/178\",[103,62.538]],[\"comment/178\",[]],[\"name/179\",[105,62.538]],[\"comment/179\",[]],[\"name/180\",[104,62.538]],[\"comment/180\",[]],[\"name/181\",[155,62.538]],[\"comment/181\",[]],[\"name/182\",[156,67.647]],[\"comment/182\",[]],[\"name/183\",[7,59.174]],[\"comment/183\",[]],[\"name/184\",[1,44.96]],[\"comment/184\",[]],[\"name/185\",[7,59.174]],[\"comment/185\",[]],[\"name/186\",[4,14.128]],[\"comment/186\",[]],[\"name/187\",[157,62.538]],[\"comment/187\",[]],[\"name/188\",[158,62.538]],[\"comment/188\",[]],[\"name/189\",[159,62.538]],[\"comment/189\",[]],[\"name/190\",[160,62.538]],[\"comment/190\",[]],[\"name/191\",[16,56.66]],[\"comment/191\",[]],[\"name/192\",[161,62.538]],[\"comment/192\",[]],[\"name/193\",[162,62.538]],[\"comment/193\",[]],[\"name/194\",[17,59.174]],[\"comment/194\",[]],[\"name/195\",[163,62.538]],[\"comment/195\",[]],[\"name/196\",[20,59.174]],[\"comment/196\",[]],[\"name/197\",[164,67.647]],[\"comment/197\",[]],[\"name/198\",[21,59.174]],[\"comment/198\",[]],[\"name/199\",[22,56.66]],[\"comment/199\",[]],[\"name/200\",[165,62.538]],[\"comment/200\",[]],[\"name/201\",[23,59.174]],[\"comment/201\",[]],[\"name/202\",[35,50.301]],[\"comment/202\",[]],[\"name/203\",[166,62.538]],[\"comment/203\",[]],[\"name/204\",[167,62.538]],[\"comment/204\",[]],[\"name/205\",[168,62.538]],[\"comment/205\",[]],[\"name/206\",[169,62.538]],[\"comment/206\",[]],[\"name/207\",[170,62.538]],[\"comment/207\",[]],[\"name/208\",[171,62.538]],[\"comment/208\",[]],[\"name/209\",[172,62.538]],[\"comment/209\",[]],[\"name/210\",[37,56.66]],[\"comment/210\",[]],[\"name/211\",[173,62.538]],[\"comment/211\",[]],[\"name/212\",[161,62.538]],[\"comment/212\",[]],[\"name/213\",[4,14.128]],[\"comment/213\",[]],[\"name/214\",[159,62.538]],[\"comment/214\",[]],[\"name/215\",[4,14.128]],[\"comment/215\",[]],[\"name/216\",[163,62.538]],[\"comment/216\",[]],[\"name/217\",[4,14.128]],[\"comment/217\",[]],[\"name/218\",[172,62.538]],[\"comment/218\",[]],[\"name/219\",[4,14.128]],[\"comment/219\",[]],[\"name/220\",[171,62.538]],[\"comment/220\",[]],[\"name/221\",[4,14.128]],[\"comment/221\",[]],[\"name/222\",[35,50.301]],[\"comment/222\",[]],[\"name/223\",[4,14.128]],[\"comment/223\",[]],[\"name/224\",[168,62.538]],[\"comment/224\",[]],[\"name/225\",[4,14.128]],[\"comment/225\",[]],[\"name/226\",[167,62.538]],[\"comment/226\",[]],[\"name/227\",[4,14.128]],[\"comment/227\",[]],[\"name/228\",[166,62.538]],[\"comment/228\",[]],[\"name/229\",[4,14.128]],[\"comment/229\",[]],[\"name/230\",[157,62.538]],[\"comment/230\",[]],[\"name/231\",[4,14.128]],[\"comment/231\",[]],[\"name/232\",[158,62.538]],[\"comment/232\",[]],[\"name/233\",[4,14.128]],[\"comment/233\",[]],[\"name/234\",[37,56.66]],[\"comment/234\",[]],[\"name/235\",[4,14.128]],[\"comment/235\",[]],[\"name/236\",[16,56.66]],[\"comment/236\",[]],[\"name/237\",[4,14.128]],[\"comment/237\",[]],[\"name/238\",[20,59.174]],[\"comment/238\",[]],[\"name/239\",[4,14.128]],[\"comment/239\",[]],[\"name/240\",[17,59.174]],[\"comment/240\",[]],[\"name/241\",[4,14.128]],[\"comment/241\",[]],[\"name/242\",[21,59.174]],[\"comment/242\",[]],[\"name/243\",[4,14.128]],[\"comment/243\",[]],[\"name/244\",[22,56.66]],[\"comment/244\",[]],[\"name/245\",[4,14.128]],[\"comment/245\",[]],[\"name/246\",[23,59.174]],[\"comment/246\",[]],[\"name/247\",[4,14.128]],[\"comment/247\",[]],[\"name/248\",[162,62.538]],[\"comment/248\",[]],[\"name/249\",[165,62.538]],[\"comment/249\",[]],[\"name/250\",[160,62.538]],[\"comment/250\",[]],[\"name/251\",[174,67.647]],[\"comment/251\",[]],[\"name/252\",[173,62.538]],[\"comment/252\",[]],[\"name/253\",[170,62.538]],[\"comment/253\",[]],[\"name/254\",[169,62.538]],[\"comment/254\",[]],[\"name/255\",[175,67.647]],[\"comment/255\",[]],[\"name/256\",[176,67.647]],[\"comment/256\",[]],[\"name/257\",[177,67.647]],[\"comment/257\",[]],[\"name/258\",[4,14.128]],[\"comment/258\",[]],[\"name/259\",[178,67.647]],[\"comment/259\",[]],[\"name/260\",[179,67.647]],[\"comment/260\",[]],[\"name/261\",[180,67.647]],[\"comment/261\",[]],[\"name/262\",[4,14.128]],[\"comment/262\",[]],[\"name/263\",[181,32.093]],[\"comment/263\",[]],[\"name/264\",[16,56.66]],[\"comment/264\",[]],[\"name/265\",[182,67.647]],[\"comment/265\",[]],[\"name/266\",[4,14.128]],[\"comment/266\",[]],[\"name/267\",[181,32.093]],[\"comment/267\",[]],[\"name/268\",[183,67.647]],[\"comment/268\",[]],[\"name/269\",[184,67.647]],[\"comment/269\",[]],[\"name/270\",[4,14.128]],[\"comment/270\",[]],[\"name/271\",[181,32.093]],[\"comment/271\",[]],[\"name/272\",[185,67.647]],[\"comment/272\",[]],[\"name/273\",[4,14.128]],[\"comment/273\",[]],[\"name/274\",[181,32.093]],[\"comment/274\",[]],[\"name/275\",[186,50.301]],[\"comment/275\",[]],[\"name/276\",[187,67.647]],[\"comment/276\",[]],[\"name/277\",[4,14.128]],[\"comment/277\",[]],[\"name/278\",[181,32.093]],[\"comment/278\",[]],[\"name/279\",[188,67.647]],[\"comment/279\",[]],[\"name/280\",[4,14.128]],[\"comment/280\",[]],[\"name/281\",[181,32.093]],[\"comment/281\",[]],[\"name/282\",[186,50.301]],[\"comment/282\",[]],[\"name/283\",[189,67.647]],[\"comment/283\",[]],[\"name/284\",[4,14.128]],[\"comment/284\",[]],[\"name/285\",[181,32.093]],[\"comment/285\",[]],[\"name/286\",[22,56.66]],[\"comment/286\",[]],[\"name/287\",[190,67.647]],[\"comment/287\",[]],[\"name/288\",[4,14.128]],[\"comment/288\",[]],[\"name/289\",[181,32.093]],[\"comment/289\",[]],[\"name/290\",[191,67.647]],[\"comment/290\",[]],[\"name/291\",[192,67.647]],[\"comment/291\",[]],[\"name/292\",[193,67.647]],[\"comment/292\",[]],[\"name/293\",[194,67.647]],[\"comment/293\",[]],[\"name/294\",[195,52.983]],[\"comment/294\",[]],[\"name/295\",[86,48.187]],[\"comment/295\",[]],[\"name/296\",[196,67.647]],[\"comment/296\",[]],[\"name/297\",[197,50.301]],[\"comment/297\",[]],[\"name/298\",[198,67.647]],[\"comment/298\",[]],[\"name/299\",[199,67.647]],[\"comment/299\",[]],[\"name/300\",[4,14.128]],[\"comment/300\",[]],[\"name/301\",[181,32.093]],[\"comment/301\",[]],[\"name/302\",[200,67.647]],[\"comment/302\",[]],[\"name/303\",[4,14.128]],[\"comment/303\",[]],[\"name/304\",[181,32.093]],[\"comment/304\",[]],[\"name/305\",[186,50.301]],[\"comment/305\",[]],[\"name/306\",[201,67.647]],[\"comment/306\",[]],[\"name/307\",[4,14.128]],[\"comment/307\",[]],[\"name/308\",[181,32.093]],[\"comment/308\",[]],[\"name/309\",[202,67.647]],[\"comment/309\",[]],[\"name/310\",[4,14.128]],[\"comment/310\",[]],[\"name/311\",[181,32.093]],[\"comment/311\",[]],[\"name/312\",[186,50.301]],[\"comment/312\",[]],[\"name/313\",[203,67.647]],[\"comment/313\",[]],[\"name/314\",[204,67.647]],[\"comment/314\",[]],[\"name/315\",[205,67.647]],[\"comment/315\",[]],[\"name/316\",[206,67.647]],[\"comment/316\",[]],[\"name/317\",[207,67.647]],[\"comment/317\",[]],[\"name/318\",[4,14.128]],[\"comment/318\",[]],[\"name/319\",[208,62.538]],[\"comment/319\",[]],[\"name/320\",[123,48.187]],[\"comment/320\",[]],[\"name/321\",[209,62.538]],[\"comment/321\",[]],[\"name/322\",[210,67.647]],[\"comment/322\",[]],[\"name/323\",[211,67.647]],[\"comment/323\",[]],[\"name/324\",[4,14.128]],[\"comment/324\",[]],[\"name/325\",[208,62.538]],[\"comment/325\",[]],[\"name/326\",[35,50.301]],[\"comment/326\",[]],[\"name/327\",[209,62.538]],[\"comment/327\",[]],[\"name/328\",[212,67.647]],[\"comment/328\",[]],[\"name/329\",[213,67.647]],[\"comment/329\",[]],[\"name/330\",[214,67.647]],[\"comment/330\",[]],[\"name/331\",[215,67.647]],[\"comment/331\",[]],[\"name/332\",[4,14.128]],[\"comment/332\",[]],[\"name/333\",[123,48.187]],[\"comment/333\",[]],[\"name/334\",[4,14.128]],[\"comment/334\",[]],[\"name/335\",[216,59.174]],[\"comment/335\",[]],[\"name/336\",[4,14.128]],[\"comment/336\",[]],[\"name/337\",[217,50.301]],[\"comment/337\",[]],[\"name/338\",[218,67.647]],[\"comment/338\",[]],[\"name/339\",[195,52.983]],[\"comment/339\",[]],[\"name/340\",[219,67.647]],[\"comment/340\",[]],[\"name/341\",[107,62.538]],[\"comment/341\",[]],[\"name/342\",[4,14.128]],[\"comment/342\",[]],[\"name/343\",[83,49.188]],[\"comment/343\",[]],[\"name/344\",[220,52.983]],[\"comment/344\",[]],[\"name/345\",[221,56.66]],[\"comment/345\",[]],[\"name/346\",[217,50.301]],[\"comment/346\",[]],[\"name/347\",[86,48.187]],[\"comment/347\",[]],[\"name/348\",[197,50.301]],[\"comment/348\",[]],[\"name/349\",[89,52.983]],[\"comment/349\",[]],[\"name/350\",[222,49.188]],[\"comment/350\",[]],[\"name/351\",[223,54.654]],[\"comment/351\",[]],[\"name/352\",[224,56.66]],[\"comment/352\",[]],[\"name/353\",[34,59.174]],[\"comment/353\",[]],[\"name/354\",[225,56.66]],[\"comment/354\",[]],[\"name/355\",[226,56.66]],[\"comment/355\",[]],[\"name/356\",[93,50.301]],[\"comment/356\",[]],[\"name/357\",[227,52.983]],[\"comment/357\",[]],[\"name/358\",[228,49.188]],[\"comment/358\",[]],[\"name/359\",[229,67.647]],[\"comment/359\",[]],[\"name/360\",[4,14.128]],[\"comment/360\",[]],[\"name/361\",[223,54.654]],[\"comment/361\",[]],[\"name/362\",[230,67.647]],[\"comment/362\",[]],[\"name/363\",[4,14.128]],[\"comment/363\",[]],[\"name/364\",[83,49.188]],[\"comment/364\",[]],[\"name/365\",[220,52.983]],[\"comment/365\",[]],[\"name/366\",[221,56.66]],[\"comment/366\",[]],[\"name/367\",[217,50.301]],[\"comment/367\",[]],[\"name/368\",[86,48.187]],[\"comment/368\",[]],[\"name/369\",[197,50.301]],[\"comment/369\",[]],[\"name/370\",[89,52.983]],[\"comment/370\",[]],[\"name/371\",[222,49.188]],[\"comment/371\",[]],[\"name/372\",[223,54.654]],[\"comment/372\",[]],[\"name/373\",[224,56.66]],[\"comment/373\",[]],[\"name/374\",[34,59.174]],[\"comment/374\",[]],[\"name/375\",[231,52.983]],[\"comment/375\",[]],[\"name/376\",[232,56.66]],[\"comment/376\",[]],[\"name/377\",[225,56.66]],[\"comment/377\",[]],[\"name/378\",[226,56.66]],[\"comment/378\",[]],[\"name/379\",[93,50.301]],[\"comment/379\",[]],[\"name/380\",[227,52.983]],[\"comment/380\",[]],[\"name/381\",[233,52.983]],[\"comment/381\",[]],[\"name/382\",[228,49.188]],[\"comment/382\",[]],[\"name/383\",[110,62.538]],[\"comment/383\",[]],[\"name/384\",[4,14.128]],[\"comment/384\",[]],[\"name/385\",[83,49.188]],[\"comment/385\",[]],[\"name/386\",[220,52.983]],[\"comment/386\",[]],[\"name/387\",[221,56.66]],[\"comment/387\",[]],[\"name/388\",[36,59.174]],[\"comment/388\",[]],[\"name/389\",[217,50.301]],[\"comment/389\",[]],[\"name/390\",[86,48.187]],[\"comment/390\",[]],[\"name/391\",[197,50.301]],[\"comment/391\",[]],[\"name/392\",[89,52.983]],[\"comment/392\",[]],[\"name/393\",[222,49.188]],[\"comment/393\",[]],[\"name/394\",[223,54.654]],[\"comment/394\",[]],[\"name/395\",[224,56.66]],[\"comment/395\",[]],[\"name/396\",[225,56.66]],[\"comment/396\",[]],[\"name/397\",[226,56.66]],[\"comment/397\",[]],[\"name/398\",[93,50.301]],[\"comment/398\",[]],[\"name/399\",[227,52.983]],[\"comment/399\",[]],[\"name/400\",[228,49.188]],[\"comment/400\",[]],[\"name/401\",[234,67.647]],[\"comment/401\",[]],[\"name/402\",[4,14.128]],[\"comment/402\",[]],[\"name/403\",[83,49.188]],[\"comment/403\",[]],[\"name/404\",[220,52.983]],[\"comment/404\",[]],[\"name/405\",[221,56.66]],[\"comment/405\",[]],[\"name/406\",[36,59.174]],[\"comment/406\",[]],[\"name/407\",[217,50.301]],[\"comment/407\",[]],[\"name/408\",[86,48.187]],[\"comment/408\",[]],[\"name/409\",[197,50.301]],[\"comment/409\",[]],[\"name/410\",[89,52.983]],[\"comment/410\",[]],[\"name/411\",[222,49.188]],[\"comment/411\",[]],[\"name/412\",[223,54.654]],[\"comment/412\",[]],[\"name/413\",[224,56.66]],[\"comment/413\",[]],[\"name/414\",[231,52.983]],[\"comment/414\",[]],[\"name/415\",[232,56.66]],[\"comment/415\",[]],[\"name/416\",[225,56.66]],[\"comment/416\",[]],[\"name/417\",[226,56.66]],[\"comment/417\",[]],[\"name/418\",[93,50.301]],[\"comment/418\",[]],[\"name/419\",[227,52.983]],[\"comment/419\",[]],[\"name/420\",[233,52.983]],[\"comment/420\",[]],[\"name/421\",[228,49.188]],[\"comment/421\",[]],[\"name/422\",[235,67.647]],[\"comment/422\",[]],[\"name/423\",[4,14.128]],[\"comment/423\",[]],[\"name/424\",[83,49.188]],[\"comment/424\",[]],[\"name/425\",[86,48.187]],[\"comment/425\",[]],[\"name/426\",[197,50.301]],[\"comment/426\",[]],[\"name/427\",[236,62.538]],[\"comment/427\",[]],[\"name/428\",[237,62.538]],[\"comment/428\",[]],[\"name/429\",[222,49.188]],[\"comment/429\",[]],[\"name/430\",[238,59.174]],[\"comment/430\",[]],[\"name/431\",[93,50.301]],[\"comment/431\",[]],[\"name/432\",[227,52.983]],[\"comment/432\",[]],[\"name/433\",[228,49.188]],[\"comment/433\",[]],[\"name/434\",[239,62.538]],[\"comment/434\",[]],[\"name/435\",[240,62.538]],[\"comment/435\",[]],[\"name/436\",[241,62.538]],[\"comment/436\",[]],[\"name/437\",[242,67.647]],[\"comment/437\",[]],[\"name/438\",[4,14.128]],[\"comment/438\",[]],[\"name/439\",[83,49.188]],[\"comment/439\",[]],[\"name/440\",[86,48.187]],[\"comment/440\",[]],[\"name/441\",[197,50.301]],[\"comment/441\",[]],[\"name/442\",[236,62.538]],[\"comment/442\",[]],[\"name/443\",[237,62.538]],[\"comment/443\",[]],[\"name/444\",[222,49.188]],[\"comment/444\",[]],[\"name/445\",[238,59.174]],[\"comment/445\",[]],[\"name/446\",[231,52.983]],[\"comment/446\",[]],[\"name/447\",[93,50.301]],[\"comment/447\",[]],[\"name/448\",[243,62.538]],[\"comment/448\",[]],[\"name/449\",[227,52.983]],[\"comment/449\",[]],[\"name/450\",[233,52.983]],[\"comment/450\",[]],[\"name/451\",[228,49.188]],[\"comment/451\",[]],[\"name/452\",[239,62.538]],[\"comment/452\",[]],[\"name/453\",[240,62.538]],[\"comment/453\",[]],[\"name/454\",[241,62.538]],[\"comment/454\",[]],[\"name/455\",[233,52.983]],[\"comment/455\",[]],[\"name/456\",[244,67.647]],[\"comment/456\",[]],[\"name/457\",[4,14.128]],[\"comment/457\",[]],[\"name/458\",[245,67.647]],[\"comment/458\",[]],[\"name/459\",[246,62.538]],[\"comment/459\",[]],[\"name/460\",[247,62.538]],[\"comment/460\",[]],[\"name/461\",[248,67.647]],[\"comment/461\",[]],[\"name/462\",[249,67.647]],[\"comment/462\",[]],[\"name/463\",[4,14.128]],[\"comment/463\",[]],[\"name/464\",[246,62.538]],[\"comment/464\",[]],[\"name/465\",[247,62.538]],[\"comment/465\",[]],[\"name/466\",[250,67.647]],[\"comment/466\",[]],[\"name/467\",[4,14.128]],[\"comment/467\",[]],[\"name/468\",[83,49.188]],[\"comment/468\",[]],[\"name/469\",[86,48.187]],[\"comment/469\",[]],[\"name/470\",[89,52.983]],[\"comment/470\",[]],[\"name/471\",[90,62.538]],[\"comment/471\",[]],[\"name/472\",[92,62.538]],[\"comment/472\",[]],[\"name/473\",[251,67.647]],[\"comment/473\",[]],[\"name/474\",[252,67.647]],[\"comment/474\",[]],[\"name/475\",[253,67.647]],[\"comment/475\",[]],[\"name/476\",[4,14.128]],[\"comment/476\",[]],[\"name/477\",[254,67.647]],[\"comment/477\",[]],[\"name/478\",[255,67.647]],[\"comment/478\",[]],[\"name/479\",[256,67.647]],[\"comment/479\",[]],[\"name/480\",[1,44.96]],[\"comment/480\",[]],[\"name/481\",[257,59.174]],[\"comment/481\",[]],[\"name/482\",[258,59.174]],[\"comment/482\",[]],[\"name/483\",[14,51.552]],[\"comment/483\",[]],[\"name/484\",[15,51.552]],[\"comment/484\",[]],[\"name/485\",[19,56.66]],[\"comment/485\",[]],[\"name/486\",[24,56.66]],[\"comment/486\",[]],[\"name/487\",[26,51.552]],[\"comment/487\",[]],[\"name/488\",[28,51.552]],[\"comment/488\",[]],[\"name/489\",[38,51.552]],[\"comment/489\",[]],[\"name/490\",[39,56.66]],[\"comment/490\",[]],[\"name/491\",[40,56.66]],[\"comment/491\",[]],[\"name/492\",[41,56.66]],[\"comment/492\",[]],[\"name/493\",[42,56.66]],[\"comment/493\",[]],[\"name/494\",[43,56.66]],[\"comment/494\",[]],[\"name/495\",[27,56.66]],[\"comment/495\",[]],[\"name/496\",[44,56.66]],[\"comment/496\",[]],[\"name/497\",[45,52.983]],[\"comment/497\",[]],[\"name/498\",[46,52.983]],[\"comment/498\",[]],[\"name/499\",[47,56.66]],[\"comment/499\",[]],[\"name/500\",[48,48.187]],[\"comment/500\",[]],[\"name/501\",[259,47.278]],[\"comment/501\",[]],[\"name/502\",[260,46.444]],[\"comment/502\",[]],[\"name/503\",[6,46.444]],[\"comment/503\",[]],[\"name/504\",[4,14.128]],[\"comment/504\",[]],[\"name/505\",[3,44.293]],[\"comment/505\",[]],[\"name/506\",[4,14.128]],[\"comment/506\",[]],[\"name/507\",[261,47.278]],[\"comment/507\",[]],[\"name/508\",[262,47.278]],[\"comment/508\",[]],[\"name/509\",[4,14.128]],[\"comment/509\",[]],[\"name/510\",[263,49.188]],[\"comment/510\",[]],[\"name/511\",[4,14.128]],[\"comment/511\",[]],[\"name/512\",[48,48.187]],[\"comment/512\",[]],[\"name/513\",[4,14.128]],[\"comment/513\",[]],[\"name/514\",[264,49.188]],[\"comment/514\",[]],[\"name/515\",[4,14.128]],[\"comment/515\",[]],[\"name/516\",[265,59.174]],[\"comment/516\",[]],[\"name/517\",[4,14.128]],[\"comment/517\",[]],[\"name/518\",[266,67.647]],[\"comment/518\",[]],[\"name/519\",[4,14.128]],[\"comment/519\",[]],[\"name/520\",[15,51.552]],[\"comment/520\",[]],[\"name/521\",[4,14.128]],[\"comment/521\",[]],[\"name/522\",[267,62.538]],[\"comment/522\",[]],[\"name/523\",[4,14.128]],[\"comment/523\",[]],[\"name/524\",[14,51.552]],[\"comment/524\",[]],[\"name/525\",[4,14.128]],[\"comment/525\",[]],[\"name/526\",[268,62.538]],[\"comment/526\",[]],[\"name/527\",[4,14.128]],[\"comment/527\",[]],[\"name/528\",[269,59.174]],[\"comment/528\",[]],[\"name/529\",[4,14.128]],[\"comment/529\",[]],[\"name/530\",[270,62.538]],[\"comment/530\",[]],[\"name/531\",[4,14.128]],[\"comment/531\",[]],[\"name/532\",[271,59.174]],[\"comment/532\",[]],[\"name/533\",[4,14.128]],[\"comment/533\",[]],[\"name/534\",[272,59.174]],[\"comment/534\",[]],[\"name/535\",[4,14.128]],[\"comment/535\",[]],[\"name/536\",[273,56.66]],[\"comment/536\",[]],[\"name/537\",[4,14.128]],[\"comment/537\",[]],[\"name/538\",[274,62.538]],[\"comment/538\",[]],[\"name/539\",[4,14.128]],[\"comment/539\",[]],[\"name/540\",[275,59.174]],[\"comment/540\",[]],[\"name/541\",[4,14.128]],[\"comment/541\",[]],[\"name/542\",[276,59.174]],[\"comment/542\",[]],[\"name/543\",[4,14.128]],[\"comment/543\",[]],[\"name/544\",[277,56.66]],[\"comment/544\",[]],[\"name/545\",[4,14.128]],[\"comment/545\",[]],[\"name/546\",[26,51.552]],[\"comment/546\",[]],[\"name/547\",[4,14.128]],[\"comment/547\",[]],[\"name/548\",[278,59.174]],[\"comment/548\",[]],[\"name/549\",[4,14.128]],[\"comment/549\",[]],[\"name/550\",[279,59.174]],[\"comment/550\",[]],[\"name/551\",[4,14.128]],[\"comment/551\",[]],[\"name/552\",[280,67.647]],[\"comment/552\",[]],[\"name/553\",[4,14.128]],[\"comment/553\",[]],[\"name/554\",[28,51.552]],[\"comment/554\",[]],[\"name/555\",[4,14.128]],[\"comment/555\",[]],[\"name/556\",[281,62.538]],[\"comment/556\",[]],[\"name/557\",[4,14.128]],[\"comment/557\",[]],[\"name/558\",[282,47.278]],[\"comment/558\",[]],[\"name/559\",[4,14.128]],[\"comment/559\",[]],[\"name/560\",[283,67.647]],[\"comment/560\",[]],[\"name/561\",[1,44.96]],[\"comment/561\",[]],[\"name/562\",[257,59.174]],[\"comment/562\",[]],[\"name/563\",[258,59.174]],[\"comment/563\",[]],[\"name/564\",[14,51.552]],[\"comment/564\",[]],[\"name/565\",[15,51.552]],[\"comment/565\",[]],[\"name/566\",[19,56.66]],[\"comment/566\",[]],[\"name/567\",[24,56.66]],[\"comment/567\",[]],[\"name/568\",[26,51.552]],[\"comment/568\",[]],[\"name/569\",[47,56.66]],[\"comment/569\",[]],[\"name/570\",[28,51.552]],[\"comment/570\",[]],[\"name/571\",[38,51.552]],[\"comment/571\",[]],[\"name/572\",[39,56.66]],[\"comment/572\",[]],[\"name/573\",[40,56.66]],[\"comment/573\",[]],[\"name/574\",[41,56.66]],[\"comment/574\",[]],[\"name/575\",[42,56.66]],[\"comment/575\",[]],[\"name/576\",[43,56.66]],[\"comment/576\",[]],[\"name/577\",[27,56.66]],[\"comment/577\",[]],[\"name/578\",[44,56.66]],[\"comment/578\",[]],[\"name/579\",[45,52.983]],[\"comment/579\",[]],[\"name/580\",[46,52.983]],[\"comment/580\",[]],[\"name/581\",[48,48.187]],[\"comment/581\",[]],[\"name/582\",[259,47.278]],[\"comment/582\",[]],[\"name/583\",[260,46.444]],[\"comment/583\",[]],[\"name/584\",[6,46.444]],[\"comment/584\",[]],[\"name/585\",[4,14.128]],[\"comment/585\",[]],[\"name/586\",[3,44.293]],[\"comment/586\",[]],[\"name/587\",[4,14.128]],[\"comment/587\",[]],[\"name/588\",[261,47.278]],[\"comment/588\",[]],[\"name/589\",[262,47.278]],[\"comment/589\",[]],[\"name/590\",[4,14.128]],[\"comment/590\",[]],[\"name/591\",[263,49.188]],[\"comment/591\",[]],[\"name/592\",[4,14.128]],[\"comment/592\",[]],[\"name/593\",[48,48.187]],[\"comment/593\",[]],[\"name/594\",[4,14.128]],[\"comment/594\",[]],[\"name/595\",[264,49.188]],[\"comment/595\",[]],[\"name/596\",[4,14.128]],[\"comment/596\",[]],[\"name/597\",[265,59.174]],[\"comment/597\",[]],[\"name/598\",[4,14.128]],[\"comment/598\",[]],[\"name/599\",[15,51.552]],[\"comment/599\",[]],[\"name/600\",[4,14.128]],[\"comment/600\",[]],[\"name/601\",[267,62.538]],[\"comment/601\",[]],[\"name/602\",[4,14.128]],[\"comment/602\",[]],[\"name/603\",[14,51.552]],[\"comment/603\",[]],[\"name/604\",[4,14.128]],[\"comment/604\",[]],[\"name/605\",[268,62.538]],[\"comment/605\",[]],[\"name/606\",[4,14.128]],[\"comment/606\",[]],[\"name/607\",[269,59.174]],[\"comment/607\",[]],[\"name/608\",[4,14.128]],[\"comment/608\",[]],[\"name/609\",[270,62.538]],[\"comment/609\",[]],[\"name/610\",[4,14.128]],[\"comment/610\",[]],[\"name/611\",[271,59.174]],[\"comment/611\",[]],[\"name/612\",[4,14.128]],[\"comment/612\",[]],[\"name/613\",[272,59.174]],[\"comment/613\",[]],[\"name/614\",[4,14.128]],[\"comment/614\",[]],[\"name/615\",[273,56.66]],[\"comment/615\",[]],[\"name/616\",[4,14.128]],[\"comment/616\",[]],[\"name/617\",[274,62.538]],[\"comment/617\",[]],[\"name/618\",[4,14.128]],[\"comment/618\",[]],[\"name/619\",[275,59.174]],[\"comment/619\",[]],[\"name/620\",[4,14.128]],[\"comment/620\",[]],[\"name/621\",[276,59.174]],[\"comment/621\",[]],[\"name/622\",[4,14.128]],[\"comment/622\",[]],[\"name/623\",[277,56.66]],[\"comment/623\",[]],[\"name/624\",[4,14.128]],[\"comment/624\",[]],[\"name/625\",[26,51.552]],[\"comment/625\",[]],[\"name/626\",[4,14.128]],[\"comment/626\",[]],[\"name/627\",[278,59.174]],[\"comment/627\",[]],[\"name/628\",[4,14.128]],[\"comment/628\",[]],[\"name/629\",[279,59.174]],[\"comment/629\",[]],[\"name/630\",[4,14.128]],[\"comment/630\",[]],[\"name/631\",[28,51.552]],[\"comment/631\",[]],[\"name/632\",[4,14.128]],[\"comment/632\",[]],[\"name/633\",[281,62.538]],[\"comment/633\",[]],[\"name/634\",[4,14.128]],[\"comment/634\",[]],[\"name/635\",[284,62.538]],[\"comment/635\",[]],[\"name/636\",[4,14.128]],[\"comment/636\",[]],[\"name/637\",[45,52.983]],[\"comment/637\",[]],[\"name/638\",[4,14.128]],[\"comment/638\",[]],[\"name/639\",[46,52.983]],[\"comment/639\",[]],[\"name/640\",[4,14.128]],[\"comment/640\",[]],[\"name/641\",[285,62.538]],[\"comment/641\",[]],[\"name/642\",[4,14.128]],[\"comment/642\",[]],[\"name/643\",[286,67.647]],[\"comment/643\",[]],[\"name/644\",[4,14.128]],[\"comment/644\",[]],[\"name/645\",[287,67.647]],[\"comment/645\",[]],[\"name/646\",[4,14.128]],[\"comment/646\",[]],[\"name/647\",[288,62.538]],[\"comment/647\",[]],[\"name/648\",[4,14.128]],[\"comment/648\",[]],[\"name/649\",[289,62.538]],[\"comment/649\",[]],[\"name/650\",[4,14.128]],[\"comment/650\",[]],[\"name/651\",[282,47.278]],[\"comment/651\",[]],[\"name/652\",[4,14.128]],[\"comment/652\",[]],[\"name/653\",[290,67.647]],[\"comment/653\",[]],[\"name/654\",[1,44.96]],[\"comment/654\",[]],[\"name/655\",[257,59.174]],[\"comment/655\",[]],[\"name/656\",[258,59.174]],[\"comment/656\",[]],[\"name/657\",[14,51.552]],[\"comment/657\",[]],[\"name/658\",[15,51.552]],[\"comment/658\",[]],[\"name/659\",[19,56.66]],[\"comment/659\",[]],[\"name/660\",[24,56.66]],[\"comment/660\",[]],[\"name/661\",[26,51.552]],[\"comment/661\",[]],[\"name/662\",[47,56.66]],[\"comment/662\",[]],[\"name/663\",[28,51.552]],[\"comment/663\",[]],[\"name/664\",[38,51.552]],[\"comment/664\",[]],[\"name/665\",[39,56.66]],[\"comment/665\",[]],[\"name/666\",[40,56.66]],[\"comment/666\",[]],[\"name/667\",[41,56.66]],[\"comment/667\",[]],[\"name/668\",[42,56.66]],[\"comment/668\",[]],[\"name/669\",[43,56.66]],[\"comment/669\",[]],[\"name/670\",[27,56.66]],[\"comment/670\",[]],[\"name/671\",[44,56.66]],[\"comment/671\",[]],[\"name/672\",[45,52.983]],[\"comment/672\",[]],[\"name/673\",[46,52.983]],[\"comment/673\",[]],[\"name/674\",[48,48.187]],[\"comment/674\",[]],[\"name/675\",[259,47.278]],[\"comment/675\",[]],[\"name/676\",[260,46.444]],[\"comment/676\",[]],[\"name/677\",[6,46.444]],[\"comment/677\",[]],[\"name/678\",[4,14.128]],[\"comment/678\",[]],[\"name/679\",[3,44.293]],[\"comment/679\",[]],[\"name/680\",[4,14.128]],[\"comment/680\",[]],[\"name/681\",[261,47.278]],[\"comment/681\",[]],[\"name/682\",[262,47.278]],[\"comment/682\",[]],[\"name/683\",[4,14.128]],[\"comment/683\",[]],[\"name/684\",[263,49.188]],[\"comment/684\",[]],[\"name/685\",[4,14.128]],[\"comment/685\",[]],[\"name/686\",[48,48.187]],[\"comment/686\",[]],[\"name/687\",[4,14.128]],[\"comment/687\",[]],[\"name/688\",[264,49.188]],[\"comment/688\",[]],[\"name/689\",[4,14.128]],[\"comment/689\",[]],[\"name/690\",[265,59.174]],[\"comment/690\",[]],[\"name/691\",[4,14.128]],[\"comment/691\",[]],[\"name/692\",[15,51.552]],[\"comment/692\",[]],[\"name/693\",[4,14.128]],[\"comment/693\",[]],[\"name/694\",[14,51.552]],[\"comment/694\",[]],[\"name/695\",[4,14.128]],[\"comment/695\",[]],[\"name/696\",[269,59.174]],[\"comment/696\",[]],[\"name/697\",[4,14.128]],[\"comment/697\",[]],[\"name/698\",[271,59.174]],[\"comment/698\",[]],[\"name/699\",[4,14.128]],[\"comment/699\",[]],[\"name/700\",[272,59.174]],[\"comment/700\",[]],[\"name/701\",[4,14.128]],[\"comment/701\",[]],[\"name/702\",[273,56.66]],[\"comment/702\",[]],[\"name/703\",[4,14.128]],[\"comment/703\",[]],[\"name/704\",[275,59.174]],[\"comment/704\",[]],[\"name/705\",[4,14.128]],[\"comment/705\",[]],[\"name/706\",[276,59.174]],[\"comment/706\",[]],[\"name/707\",[4,14.128]],[\"comment/707\",[]],[\"name/708\",[277,56.66]],[\"comment/708\",[]],[\"name/709\",[4,14.128]],[\"comment/709\",[]],[\"name/710\",[26,51.552]],[\"comment/710\",[]],[\"name/711\",[4,14.128]],[\"comment/711\",[]],[\"name/712\",[278,59.174]],[\"comment/712\",[]],[\"name/713\",[4,14.128]],[\"comment/713\",[]],[\"name/714\",[279,59.174]],[\"comment/714\",[]],[\"name/715\",[4,14.128]],[\"comment/715\",[]],[\"name/716\",[28,51.552]],[\"comment/716\",[]],[\"name/717\",[4,14.128]],[\"comment/717\",[]],[\"name/718\",[284,62.538]],[\"comment/718\",[]],[\"name/719\",[4,14.128]],[\"comment/719\",[]],[\"name/720\",[45,52.983]],[\"comment/720\",[]],[\"name/721\",[4,14.128]],[\"comment/721\",[]],[\"name/722\",[46,52.983]],[\"comment/722\",[]],[\"name/723\",[4,14.128]],[\"comment/723\",[]],[\"name/724\",[285,62.538]],[\"comment/724\",[]],[\"name/725\",[4,14.128]],[\"comment/725\",[]],[\"name/726\",[288,62.538]],[\"comment/726\",[]],[\"name/727\",[4,14.128]],[\"comment/727\",[]],[\"name/728\",[289,62.538]],[\"comment/728\",[]],[\"name/729\",[4,14.128]],[\"comment/729\",[]],[\"name/730\",[291,62.538]],[\"comment/730\",[]],[\"name/731\",[4,14.128]],[\"comment/731\",[]],[\"name/732\",[292,67.647]],[\"comment/732\",[]],[\"name/733\",[4,14.128]],[\"comment/733\",[]],[\"name/734\",[293,67.647]],[\"comment/734\",[]],[\"name/735\",[4,14.128]],[\"comment/735\",[]],[\"name/736\",[294,67.647]],[\"comment/736\",[]],[\"name/737\",[4,14.128]],[\"comment/737\",[]],[\"name/738\",[282,47.278]],[\"comment/738\",[]],[\"name/739\",[4,14.128]],[\"comment/739\",[]],[\"name/740\",[295,67.647]],[\"comment/740\",[]],[\"name/741\",[296,67.647]],[\"comment/741\",[]],[\"name/742\",[1,44.96]],[\"comment/742\",[]],[\"name/743\",[49,51.552]],[\"comment/743\",[]],[\"name/744\",[38,51.552]],[\"comment/744\",[]],[\"name/745\",[51,56.66]],[\"comment/745\",[]],[\"name/746\",[50,51.552]],[\"comment/746\",[]],[\"name/747\",[259,47.278]],[\"comment/747\",[]],[\"name/748\",[260,46.444]],[\"comment/748\",[]],[\"name/749\",[6,46.444]],[\"comment/749\",[]],[\"name/750\",[4,14.128]],[\"comment/750\",[]],[\"name/751\",[3,44.293]],[\"comment/751\",[]],[\"name/752\",[4,14.128]],[\"comment/752\",[]],[\"name/753\",[261,47.278]],[\"comment/753\",[]],[\"name/754\",[262,47.278]],[\"comment/754\",[]],[\"name/755\",[4,14.128]],[\"comment/755\",[]],[\"name/756\",[263,49.188]],[\"comment/756\",[]],[\"name/757\",[4,14.128]],[\"comment/757\",[]],[\"name/758\",[297,59.174]],[\"comment/758\",[]],[\"name/759\",[4,14.128]],[\"comment/759\",[]],[\"name/760\",[48,48.187]],[\"comment/760\",[]],[\"name/761\",[4,14.128]],[\"comment/761\",[]],[\"name/762\",[264,49.188]],[\"comment/762\",[]],[\"name/763\",[4,14.128]],[\"comment/763\",[]],[\"name/764\",[49,51.552]],[\"comment/764\",[]],[\"name/765\",[4,14.128]],[\"comment/765\",[]],[\"name/766\",[298,59.174]],[\"comment/766\",[]],[\"name/767\",[4,14.128]],[\"comment/767\",[]],[\"name/768\",[50,51.552]],[\"comment/768\",[]],[\"name/769\",[4,14.128]],[\"comment/769\",[]],[\"name/770\",[299,59.174]],[\"comment/770\",[]],[\"name/771\",[4,14.128]],[\"comment/771\",[]],[\"name/772\",[282,47.278]],[\"comment/772\",[]],[\"name/773\",[4,14.128]],[\"comment/773\",[]],[\"name/774\",[300,67.647]],[\"comment/774\",[]],[\"name/775\",[1,44.96]],[\"comment/775\",[]],[\"name/776\",[49,51.552]],[\"comment/776\",[]],[\"name/777\",[38,51.552]],[\"comment/777\",[]],[\"name/778\",[51,56.66]],[\"comment/778\",[]],[\"name/779\",[50,51.552]],[\"comment/779\",[]],[\"name/780\",[259,47.278]],[\"comment/780\",[]],[\"name/781\",[260,46.444]],[\"comment/781\",[]],[\"name/782\",[6,46.444]],[\"comment/782\",[]],[\"name/783\",[4,14.128]],[\"comment/783\",[]],[\"name/784\",[3,44.293]],[\"comment/784\",[]],[\"name/785\",[4,14.128]],[\"comment/785\",[]],[\"name/786\",[261,47.278]],[\"comment/786\",[]],[\"name/787\",[262,47.278]],[\"comment/787\",[]],[\"name/788\",[4,14.128]],[\"comment/788\",[]],[\"name/789\",[263,49.188]],[\"comment/789\",[]],[\"name/790\",[4,14.128]],[\"comment/790\",[]],[\"name/791\",[297,59.174]],[\"comment/791\",[]],[\"name/792\",[4,14.128]],[\"comment/792\",[]],[\"name/793\",[48,48.187]],[\"comment/793\",[]],[\"name/794\",[4,14.128]],[\"comment/794\",[]],[\"name/795\",[264,49.188]],[\"comment/795\",[]],[\"name/796\",[4,14.128]],[\"comment/796\",[]],[\"name/797\",[49,51.552]],[\"comment/797\",[]],[\"name/798\",[4,14.128]],[\"comment/798\",[]],[\"name/799\",[298,59.174]],[\"comment/799\",[]],[\"name/800\",[4,14.128]],[\"comment/800\",[]],[\"name/801\",[50,51.552]],[\"comment/801\",[]],[\"name/802\",[4,14.128]],[\"comment/802\",[]],[\"name/803\",[299,59.174]],[\"comment/803\",[]],[\"name/804\",[4,14.128]],[\"comment/804\",[]],[\"name/805\",[301,62.538]],[\"comment/805\",[]],[\"name/806\",[4,14.128]],[\"comment/806\",[]],[\"name/807\",[282,47.278]],[\"comment/807\",[]],[\"name/808\",[4,14.128]],[\"comment/808\",[]],[\"name/809\",[302,67.647]],[\"comment/809\",[]],[\"name/810\",[1,44.96]],[\"comment/810\",[]],[\"name/811\",[49,51.552]],[\"comment/811\",[]],[\"name/812\",[38,51.552]],[\"comment/812\",[]],[\"name/813\",[51,56.66]],[\"comment/813\",[]],[\"name/814\",[50,51.552]],[\"comment/814\",[]],[\"name/815\",[259,47.278]],[\"comment/815\",[]],[\"name/816\",[260,46.444]],[\"comment/816\",[]],[\"name/817\",[6,46.444]],[\"comment/817\",[]],[\"name/818\",[4,14.128]],[\"comment/818\",[]],[\"name/819\",[3,44.293]],[\"comment/819\",[]],[\"name/820\",[4,14.128]],[\"comment/820\",[]],[\"name/821\",[261,47.278]],[\"comment/821\",[]],[\"name/822\",[262,47.278]],[\"comment/822\",[]],[\"name/823\",[4,14.128]],[\"comment/823\",[]],[\"name/824\",[263,49.188]],[\"comment/824\",[]],[\"name/825\",[4,14.128]],[\"comment/825\",[]],[\"name/826\",[297,59.174]],[\"comment/826\",[]],[\"name/827\",[4,14.128]],[\"comment/827\",[]],[\"name/828\",[48,48.187]],[\"comment/828\",[]],[\"name/829\",[4,14.128]],[\"comment/829\",[]],[\"name/830\",[264,49.188]],[\"comment/830\",[]],[\"name/831\",[4,14.128]],[\"comment/831\",[]],[\"name/832\",[49,51.552]],[\"comment/832\",[]],[\"name/833\",[4,14.128]],[\"comment/833\",[]],[\"name/834\",[298,59.174]],[\"comment/834\",[]],[\"name/835\",[4,14.128]],[\"comment/835\",[]],[\"name/836\",[50,51.552]],[\"comment/836\",[]],[\"name/837\",[4,14.128]],[\"comment/837\",[]],[\"name/838\",[299,59.174]],[\"comment/838\",[]],[\"name/839\",[4,14.128]],[\"comment/839\",[]],[\"name/840\",[301,62.538]],[\"comment/840\",[]],[\"name/841\",[4,14.128]],[\"comment/841\",[]],[\"name/842\",[303,67.647]],[\"comment/842\",[]],[\"name/843\",[4,14.128]],[\"comment/843\",[]],[\"name/844\",[304,67.647]],[\"comment/844\",[]],[\"name/845\",[4,14.128]],[\"comment/845\",[]],[\"name/846\",[282,47.278]],[\"comment/846\",[]],[\"name/847\",[4,14.128]],[\"comment/847\",[]],[\"name/848\",[151,62.538]],[\"comment/848\",[]],[\"name/849\",[1,44.96]],[\"comment/849\",[]],[\"name/850\",[305,56.66]],[\"comment/850\",[]],[\"name/851\",[306,62.538]],[\"comment/851\",[]],[\"name/852\",[307,56.66]],[\"comment/852\",[]],[\"name/853\",[308,59.174]],[\"comment/853\",[]],[\"name/854\",[259,47.278]],[\"comment/854\",[]],[\"name/855\",[260,46.444]],[\"comment/855\",[]],[\"name/856\",[6,46.444]],[\"comment/856\",[]],[\"name/857\",[4,14.128]],[\"comment/857\",[]],[\"name/858\",[3,44.293]],[\"comment/858\",[]],[\"name/859\",[4,14.128]],[\"comment/859\",[]],[\"name/860\",[261,47.278]],[\"comment/860\",[]],[\"name/861\",[262,47.278]],[\"comment/861\",[]],[\"name/862\",[4,14.128]],[\"comment/862\",[]],[\"name/863\",[263,49.188]],[\"comment/863\",[]],[\"name/864\",[4,14.128]],[\"comment/864\",[]],[\"name/865\",[264,49.188]],[\"comment/865\",[]],[\"name/866\",[4,14.128]],[\"comment/866\",[]],[\"name/867\",[309,59.174]],[\"comment/867\",[]],[\"name/868\",[4,14.128]],[\"comment/868\",[]],[\"name/869\",[310,59.174]],[\"comment/869\",[]],[\"name/870\",[4,14.128]],[\"comment/870\",[]],[\"name/871\",[311,59.174]],[\"comment/871\",[]],[\"name/872\",[4,14.128]],[\"comment/872\",[]],[\"name/873\",[312,59.174]],[\"comment/873\",[]],[\"name/874\",[4,14.128]],[\"comment/874\",[]],[\"name/875\",[313,62.538]],[\"comment/875\",[]],[\"name/876\",[4,14.128]],[\"comment/876\",[]],[\"name/877\",[314,62.538]],[\"comment/877\",[]],[\"name/878\",[4,14.128]],[\"comment/878\",[]],[\"name/879\",[305,56.66]],[\"comment/879\",[]],[\"name/880\",[4,14.128]],[\"comment/880\",[]],[\"name/881\",[315,62.538]],[\"comment/881\",[]],[\"name/882\",[4,14.128]],[\"comment/882\",[]],[\"name/883\",[316,62.538]],[\"comment/883\",[]],[\"name/884\",[4,14.128]],[\"comment/884\",[]],[\"name/885\",[307,56.66]],[\"comment/885\",[]],[\"name/886\",[4,14.128]],[\"comment/886\",[]],[\"name/887\",[317,62.538]],[\"comment/887\",[]],[\"name/888\",[4,14.128]],[\"comment/888\",[]],[\"name/889\",[318,62.538]],[\"comment/889\",[]],[\"name/890\",[4,14.128]],[\"comment/890\",[]],[\"name/891\",[319,62.538]],[\"comment/891\",[]],[\"name/892\",[4,14.128]],[\"comment/892\",[]],[\"name/893\",[320,62.538]],[\"comment/893\",[]],[\"name/894\",[4,14.128]],[\"comment/894\",[]],[\"name/895\",[321,62.538]],[\"comment/895\",[]],[\"name/896\",[4,14.128]],[\"comment/896\",[]],[\"name/897\",[322,62.538]],[\"comment/897\",[]],[\"name/898\",[4,14.128]],[\"comment/898\",[]],[\"name/899\",[282,47.278]],[\"comment/899\",[]],[\"name/900\",[4,14.128]],[\"comment/900\",[]],[\"name/901\",[152,62.538]],[\"comment/901\",[]],[\"name/902\",[1,44.96]],[\"comment/902\",[]],[\"name/903\",[305,56.66]],[\"comment/903\",[]],[\"name/904\",[306,62.538]],[\"comment/904\",[]],[\"name/905\",[307,56.66]],[\"comment/905\",[]],[\"name/906\",[308,59.174]],[\"comment/906\",[]],[\"name/907\",[259,47.278]],[\"comment/907\",[]],[\"name/908\",[260,46.444]],[\"comment/908\",[]],[\"name/909\",[6,46.444]],[\"comment/909\",[]],[\"name/910\",[4,14.128]],[\"comment/910\",[]],[\"name/911\",[3,44.293]],[\"comment/911\",[]],[\"name/912\",[4,14.128]],[\"comment/912\",[]],[\"name/913\",[261,47.278]],[\"comment/913\",[]],[\"name/914\",[262,47.278]],[\"comment/914\",[]],[\"name/915\",[4,14.128]],[\"comment/915\",[]],[\"name/916\",[263,49.188]],[\"comment/916\",[]],[\"name/917\",[4,14.128]],[\"comment/917\",[]],[\"name/918\",[264,49.188]],[\"comment/918\",[]],[\"name/919\",[4,14.128]],[\"comment/919\",[]],[\"name/920\",[309,59.174]],[\"comment/920\",[]],[\"name/921\",[4,14.128]],[\"comment/921\",[]],[\"name/922\",[310,59.174]],[\"comment/922\",[]],[\"name/923\",[4,14.128]],[\"comment/923\",[]],[\"name/924\",[311,59.174]],[\"comment/924\",[]],[\"name/925\",[4,14.128]],[\"comment/925\",[]],[\"name/926\",[312,59.174]],[\"comment/926\",[]],[\"name/927\",[4,14.128]],[\"comment/927\",[]],[\"name/928\",[313,62.538]],[\"comment/928\",[]],[\"name/929\",[4,14.128]],[\"comment/929\",[]],[\"name/930\",[314,62.538]],[\"comment/930\",[]],[\"name/931\",[4,14.128]],[\"comment/931\",[]],[\"name/932\",[305,56.66]],[\"comment/932\",[]],[\"name/933\",[4,14.128]],[\"comment/933\",[]],[\"name/934\",[315,62.538]],[\"comment/934\",[]],[\"name/935\",[4,14.128]],[\"comment/935\",[]],[\"name/936\",[316,62.538]],[\"comment/936\",[]],[\"name/937\",[4,14.128]],[\"comment/937\",[]],[\"name/938\",[307,56.66]],[\"comment/938\",[]],[\"name/939\",[4,14.128]],[\"comment/939\",[]],[\"name/940\",[317,62.538]],[\"comment/940\",[]],[\"name/941\",[4,14.128]],[\"comment/941\",[]],[\"name/942\",[318,62.538]],[\"comment/942\",[]],[\"name/943\",[4,14.128]],[\"comment/943\",[]],[\"name/944\",[319,62.538]],[\"comment/944\",[]],[\"name/945\",[4,14.128]],[\"comment/945\",[]],[\"name/946\",[320,62.538]],[\"comment/946\",[]],[\"name/947\",[4,14.128]],[\"comment/947\",[]],[\"name/948\",[321,62.538]],[\"comment/948\",[]],[\"name/949\",[4,14.128]],[\"comment/949\",[]],[\"name/950\",[322,62.538]],[\"comment/950\",[]],[\"name/951\",[4,14.128]],[\"comment/951\",[]],[\"name/952\",[323,67.647]],[\"comment/952\",[]],[\"name/953\",[4,14.128]],[\"comment/953\",[]],[\"name/954\",[308,59.174]],[\"comment/954\",[]],[\"name/955\",[4,14.128]],[\"comment/955\",[]],[\"name/956\",[324,67.647]],[\"comment/956\",[]],[\"name/957\",[4,14.128]],[\"comment/957\",[]],[\"name/958\",[325,67.647]],[\"comment/958\",[]],[\"name/959\",[4,14.128]],[\"comment/959\",[]],[\"name/960\",[326,67.647]],[\"comment/960\",[]],[\"name/961\",[4,14.128]],[\"comment/961\",[]],[\"name/962\",[327,67.647]],[\"comment/962\",[]],[\"name/963\",[4,14.128]],[\"comment/963\",[]],[\"name/964\",[282,47.278]],[\"comment/964\",[]],[\"name/965\",[4,14.128]],[\"comment/965\",[]],[\"name/966\",[153,62.538]],[\"comment/966\",[]],[\"name/967\",[1,44.96]],[\"comment/967\",[]],[\"name/968\",[328,62.538]],[\"comment/968\",[]],[\"name/969\",[259,47.278]],[\"comment/969\",[]],[\"name/970\",[260,46.444]],[\"comment/970\",[]],[\"name/971\",[6,46.444]],[\"comment/971\",[]],[\"name/972\",[4,14.128]],[\"comment/972\",[]],[\"name/973\",[3,44.293]],[\"comment/973\",[]],[\"name/974\",[4,14.128]],[\"comment/974\",[]],[\"name/975\",[261,47.278]],[\"comment/975\",[]],[\"name/976\",[262,47.278]],[\"comment/976\",[]],[\"name/977\",[4,14.128]],[\"comment/977\",[]],[\"name/978\",[263,49.188]],[\"comment/978\",[]],[\"name/979\",[4,14.128]],[\"comment/979\",[]],[\"name/980\",[264,49.188]],[\"comment/980\",[]],[\"name/981\",[4,14.128]],[\"comment/981\",[]],[\"name/982\",[273,56.66]],[\"comment/982\",[]],[\"name/983\",[4,14.128]],[\"comment/983\",[]],[\"name/984\",[277,56.66]],[\"comment/984\",[]],[\"name/985\",[4,14.128]],[\"comment/985\",[]],[\"name/986\",[329,67.647]],[\"comment/986\",[]],[\"name/987\",[4,14.128]],[\"comment/987\",[]],[\"name/988\",[330,67.647]],[\"comment/988\",[]],[\"name/989\",[4,14.128]],[\"comment/989\",[]],[\"name/990\",[331,67.647]],[\"comment/990\",[]],[\"name/991\",[4,14.128]],[\"comment/991\",[]],[\"name/992\",[332,67.647]],[\"comment/992\",[]],[\"name/993\",[4,14.128]],[\"comment/993\",[]],[\"name/994\",[328,62.538]],[\"comment/994\",[]],[\"name/995\",[4,14.128]],[\"comment/995\",[]],[\"name/996\",[333,67.647]],[\"comment/996\",[]],[\"name/997\",[4,14.128]],[\"comment/997\",[]],[\"name/998\",[291,62.538]],[\"comment/998\",[]],[\"name/999\",[4,14.128]],[\"comment/999\",[]],[\"name/1000\",[334,67.647]],[\"comment/1000\",[]],[\"name/1001\",[4,14.128]],[\"comment/1001\",[]],[\"name/1002\",[335,67.647]],[\"comment/1002\",[]],[\"name/1003\",[4,14.128]],[\"comment/1003\",[]],[\"name/1004\",[282,47.278]],[\"comment/1004\",[]],[\"name/1005\",[4,14.128]],[\"comment/1005\",[]],[\"name/1006\",[336,67.647]],[\"comment/1006\",[]],[\"name/1007\",[1,44.96]],[\"comment/1007\",[]],[\"name/1008\",[259,47.278]],[\"comment/1008\",[]],[\"name/1009\",[260,46.444]],[\"comment/1009\",[]],[\"name/1010\",[6,46.444]],[\"comment/1010\",[]],[\"name/1011\",[4,14.128]],[\"comment/1011\",[]],[\"name/1012\",[3,44.293]],[\"comment/1012\",[]],[\"name/1013\",[4,14.128]],[\"comment/1013\",[]],[\"name/1014\",[261,47.278]],[\"comment/1014\",[]],[\"name/1015\",[262,47.278]],[\"comment/1015\",[]],[\"name/1016\",[282,47.278]],[\"comment/1016\",[]],[\"name/1017\",[4,14.128]],[\"comment/1017\",[]],[\"name/1018\",[337,67.647]],[\"comment/1018\",[]],[\"name/1019\",[155,62.538]],[\"comment/1019\",[]],[\"name/1020\",[1,44.96]],[\"comment/1020\",[]],[\"name/1021\",[64,62.538]],[\"comment/1021\",[]],[\"name/1022\",[338,62.538]],[\"comment/1022\",[]],[\"name/1023\",[259,47.278]],[\"comment/1023\",[]],[\"name/1024\",[260,46.444]],[\"comment/1024\",[]],[\"name/1025\",[6,46.444]],[\"comment/1025\",[]],[\"name/1026\",[4,14.128]],[\"comment/1026\",[]],[\"name/1027\",[3,44.293]],[\"comment/1027\",[]],[\"name/1028\",[4,14.128]],[\"comment/1028\",[]],[\"name/1029\",[261,47.278]],[\"comment/1029\",[]],[\"name/1030\",[262,47.278]],[\"comment/1030\",[]],[\"name/1031\",[4,14.128]],[\"comment/1031\",[]],[\"name/1032\",[309,59.174]],[\"comment/1032\",[]],[\"name/1033\",[4,14.128]],[\"comment/1033\",[]],[\"name/1034\",[310,59.174]],[\"comment/1034\",[]],[\"name/1035\",[4,14.128]],[\"comment/1035\",[]],[\"name/1036\",[311,59.174]],[\"comment/1036\",[]],[\"name/1037\",[4,14.128]],[\"comment/1037\",[]],[\"name/1038\",[312,59.174]],[\"comment/1038\",[]],[\"name/1039\",[4,14.128]],[\"comment/1039\",[]],[\"name/1040\",[338,62.538]],[\"comment/1040\",[]],[\"name/1041\",[4,14.128]],[\"comment/1041\",[]],[\"name/1042\",[339,67.647]],[\"comment/1042\",[]],[\"name/1043\",[4,14.128]],[\"comment/1043\",[]],[\"name/1044\",[340,67.647]],[\"comment/1044\",[]],[\"name/1045\",[4,14.128]],[\"comment/1045\",[]],[\"name/1046\",[341,67.647]],[\"comment/1046\",[]],[\"name/1047\",[4,14.128]],[\"comment/1047\",[]],[\"name/1048\",[282,47.278]],[\"comment/1048\",[]],[\"name/1049\",[4,14.128]],[\"comment/1049\",[]],[\"name/1050\",[342,67.647]],[\"comment/1050\",[]],[\"name/1051\",[4,14.128]],[\"comment/1051\",[]],[\"name/1052\",[142,62.538]],[\"comment/1052\",[]],[\"name/1053\",[3,44.293]],[\"comment/1053\",[]],[\"name/1054\",[343,67.647]],[\"comment/1054\",[]],[\"name/1055\",[4,14.128]],[\"comment/1055\",[]],[\"name/1056\",[181,32.093]],[\"comment/1056\",[]],[\"name/1057\",[344,52.983]],[\"comment/1057\",[]],[\"name/1058\",[4,14.128]],[\"comment/1058\",[]],[\"name/1059\",[181,32.093]],[\"comment/1059\",[]],[\"name/1060\",[231,52.983]],[\"comment/1060\",[]],[\"name/1061\",[232,56.66]],[\"comment/1061\",[]],[\"name/1062\",[222,49.188]],[\"comment/1062\",[]],[\"name/1063\",[228,49.188]],[\"comment/1063\",[]],[\"name/1064\",[220,52.983]],[\"comment/1064\",[]],[\"name/1065\",[345,62.538]],[\"comment/1065\",[]],[\"name/1066\",[123,48.187]],[\"comment/1066\",[]],[\"name/1067\",[4,14.128]],[\"comment/1067\",[]],[\"name/1068\",[181,32.093]],[\"comment/1068\",[]],[\"name/1069\",[216,59.174]],[\"comment/1069\",[]],[\"name/1070\",[4,14.128]],[\"comment/1070\",[]],[\"name/1071\",[181,32.093]],[\"comment/1071\",[]],[\"name/1072\",[217,50.301]],[\"comment/1072\",[]],[\"name/1073\",[346,67.647]],[\"comment/1073\",[]],[\"name/1074\",[4,14.128]],[\"comment/1074\",[]],[\"name/1075\",[181,32.093]],[\"comment/1075\",[]],[\"name/1076\",[344,52.983]],[\"comment/1076\",[]],[\"name/1077\",[4,14.128]],[\"comment/1077\",[]],[\"name/1078\",[181,32.093]],[\"comment/1078\",[]],[\"name/1079\",[186,50.301]],[\"comment/1079\",[]],[\"name/1080\",[95,54.654]],[\"comment/1080\",[]],[\"name/1081\",[123,48.187]],[\"comment/1081\",[]],[\"name/1082\",[4,14.128]],[\"comment/1082\",[]],[\"name/1083\",[181,32.093]],[\"comment/1083\",[]],[\"name/1084\",[216,59.174]],[\"comment/1084\",[]],[\"name/1085\",[4,14.128]],[\"comment/1085\",[]],[\"name/1086\",[181,32.093]],[\"comment/1086\",[]],[\"name/1087\",[217,50.301]],[\"comment/1087\",[]],[\"name/1088\",[347,67.647]],[\"comment/1088\",[]],[\"name/1089\",[4,14.128]],[\"comment/1089\",[]],[\"name/1090\",[181,32.093]],[\"comment/1090\",[]],[\"name/1091\",[344,52.983]],[\"comment/1091\",[]],[\"name/1092\",[4,14.128]],[\"comment/1092\",[]],[\"name/1093\",[181,32.093]],[\"comment/1093\",[]],[\"name/1094\",[231,52.983]],[\"comment/1094\",[]],[\"name/1095\",[232,56.66]],[\"comment/1095\",[]],[\"name/1096\",[222,49.188]],[\"comment/1096\",[]],[\"name/1097\",[228,49.188]],[\"comment/1097\",[]],[\"name/1098\",[220,52.983]],[\"comment/1098\",[]],[\"name/1099\",[345,62.538]],[\"comment/1099\",[]],[\"name/1100\",[121,51.552]],[\"comment/1100\",[]],[\"name/1101\",[4,14.128]],[\"comment/1101\",[]],[\"name/1102\",[181,32.093]],[\"comment/1102\",[]],[\"name/1103\",[195,52.983]],[\"comment/1103\",[]],[\"name/1104\",[123,48.187]],[\"comment/1104\",[]],[\"name/1105\",[348,67.647]],[\"comment/1105\",[]],[\"name/1106\",[4,14.128]],[\"comment/1106\",[]],[\"name/1107\",[181,32.093]],[\"comment/1107\",[]],[\"name/1108\",[344,52.983]],[\"comment/1108\",[]],[\"name/1109\",[4,14.128]],[\"comment/1109\",[]],[\"name/1110\",[181,32.093]],[\"comment/1110\",[]],[\"name/1111\",[186,50.301]],[\"comment/1111\",[]],[\"name/1112\",[95,54.654]],[\"comment/1112\",[]],[\"name/1113\",[121,51.552]],[\"comment/1113\",[]],[\"name/1114\",[4,14.128]],[\"comment/1114\",[]],[\"name/1115\",[181,32.093]],[\"comment/1115\",[]],[\"name/1116\",[195,52.983]],[\"comment/1116\",[]],[\"name/1117\",[123,48.187]],[\"comment/1117\",[]],[\"name/1118\",[349,67.647]],[\"comment/1118\",[]],[\"name/1119\",[4,14.128]],[\"comment/1119\",[]],[\"name/1120\",[181,32.093]],[\"comment/1120\",[]],[\"name/1121\",[344,52.983]],[\"comment/1121\",[]],[\"name/1122\",[4,14.128]],[\"comment/1122\",[]],[\"name/1123\",[181,32.093]],[\"comment/1123\",[]],[\"name/1124\",[238,59.174]],[\"comment/1124\",[]],[\"name/1125\",[243,62.538]],[\"comment/1125\",[]],[\"name/1126\",[231,52.983]],[\"comment/1126\",[]],[\"name/1127\",[222,49.188]],[\"comment/1127\",[]],[\"name/1128\",[228,49.188]],[\"comment/1128\",[]],[\"name/1129\",[121,51.552]],[\"comment/1129\",[]],[\"name/1130\",[4,14.128]],[\"comment/1130\",[]],[\"name/1131\",[181,32.093]],[\"comment/1131\",[]],[\"name/1132\",[195,52.983]],[\"comment/1132\",[]],[\"name/1133\",[123,48.187]],[\"comment/1133\",[]],[\"name/1134\",[350,67.647]],[\"comment/1134\",[]],[\"name/1135\",[4,14.128]],[\"comment/1135\",[]],[\"name/1136\",[181,32.093]],[\"comment/1136\",[]],[\"name/1137\",[344,52.983]],[\"comment/1137\",[]],[\"name/1138\",[4,14.128]],[\"comment/1138\",[]],[\"name/1139\",[181,32.093]],[\"comment/1139\",[]],[\"name/1140\",[186,50.301]],[\"comment/1140\",[]],[\"name/1141\",[95,54.654]],[\"comment/1141\",[]],[\"name/1142\",[351,67.647]],[\"comment/1142\",[]],[\"name/1143\",[4,14.128]],[\"comment/1143\",[]],[\"name/1144\",[352,67.647]],[\"comment/1144\",[]],[\"name/1145\",[217,50.301]],[\"comment/1145\",[]],[\"name/1146\",[353,67.647]],[\"comment/1146\",[]],[\"name/1147\",[197,50.301]],[\"comment/1147\",[]],[\"name/1148\",[354,67.647]],[\"comment/1148\",[]],[\"name/1149\",[355,67.647]],[\"comment/1149\",[]],[\"name/1150\",[233,52.983]],[\"comment/1150\",[]],[\"name/1151\",[356,62.538]],[\"comment/1151\",[]],[\"name/1152\",[357,67.647]],[\"comment/1152\",[]],[\"name/1153\",[195,52.983]],[\"comment/1153\",[]],[\"name/1154\",[358,67.647]],[\"comment/1154\",[]],[\"name/1155\",[4,14.128]],[\"comment/1155\",[]],[\"name/1156\",[181,32.093]],[\"comment/1156\",[]],[\"name/1157\",[359,59.174]],[\"comment/1157\",[]],[\"name/1158\",[360,67.647]],[\"comment/1158\",[]],[\"name/1159\",[4,14.128]],[\"comment/1159\",[]],[\"name/1160\",[181,32.093]],[\"comment/1160\",[]],[\"name/1161\",[35,50.301]],[\"comment/1161\",[]],[\"name/1162\",[4,14.128]],[\"comment/1162\",[]],[\"name/1163\",[181,32.093]],[\"comment/1163\",[]],[\"name/1164\",[361,54.654]],[\"comment/1164\",[]],[\"name/1165\",[4,14.128]],[\"comment/1165\",[]],[\"name/1166\",[181,32.093]],[\"comment/1166\",[]],[\"name/1167\",[362,54.654]],[\"comment/1167\",[]],[\"name/1168\",[363,54.654]],[\"comment/1168\",[]],[\"name/1169\",[364,54.654]],[\"comment/1169\",[]],[\"name/1170\",[365,67.647]],[\"comment/1170\",[]],[\"name/1171\",[4,14.128]],[\"comment/1171\",[]],[\"name/1172\",[181,32.093]],[\"comment/1172\",[]],[\"name/1173\",[123,48.187]],[\"comment/1173\",[]],[\"name/1174\",[366,67.647]],[\"comment/1174\",[]],[\"name/1175\",[4,14.128]],[\"comment/1175\",[]],[\"name/1176\",[181,32.093]],[\"comment/1176\",[]],[\"name/1177\",[35,50.301]],[\"comment/1177\",[]],[\"name/1178\",[367,67.647]],[\"comment/1178\",[]],[\"name/1179\",[4,14.128]],[\"comment/1179\",[]],[\"name/1180\",[181,32.093]],[\"comment/1180\",[]],[\"name/1181\",[123,48.187]],[\"comment/1181\",[]],[\"name/1182\",[368,67.647]],[\"comment/1182\",[]],[\"name/1183\",[4,14.128]],[\"comment/1183\",[]],[\"name/1184\",[181,32.093]],[\"comment/1184\",[]],[\"name/1185\",[359,59.174]],[\"comment/1185\",[]],[\"name/1186\",[4,14.128]],[\"comment/1186\",[]],[\"name/1187\",[181,32.093]],[\"comment/1187\",[]],[\"name/1188\",[361,54.654]],[\"comment/1188\",[]],[\"name/1189\",[4,14.128]],[\"comment/1189\",[]],[\"name/1190\",[181,32.093]],[\"comment/1190\",[]],[\"name/1191\",[362,54.654]],[\"comment/1191\",[]],[\"name/1192\",[363,54.654]],[\"comment/1192\",[]],[\"name/1193\",[364,54.654]],[\"comment/1193\",[]],[\"name/1194\",[369,67.647]],[\"comment/1194\",[]],[\"name/1195\",[4,14.128]],[\"comment/1195\",[]],[\"name/1196\",[181,32.093]],[\"comment/1196\",[]],[\"name/1197\",[30,62.538]],[\"comment/1197\",[]],[\"name/1198\",[4,14.128]],[\"comment/1198\",[]],[\"name/1199\",[181,32.093]],[\"comment/1199\",[]],[\"name/1200\",[370,67.647]],[\"comment/1200\",[]],[\"name/1201\",[361,54.654]],[\"comment/1201\",[]],[\"name/1202\",[4,14.128]],[\"comment/1202\",[]],[\"name/1203\",[181,32.093]],[\"comment/1203\",[]],[\"name/1204\",[362,54.654]],[\"comment/1204\",[]],[\"name/1205\",[363,54.654]],[\"comment/1205\",[]],[\"name/1206\",[364,54.654]],[\"comment/1206\",[]],[\"name/1207\",[371,67.647]],[\"comment/1207\",[]],[\"name/1208\",[4,14.128]],[\"comment/1208\",[]],[\"name/1209\",[181,32.093]],[\"comment/1209\",[]],[\"name/1210\",[121,51.552]],[\"comment/1210\",[]],[\"name/1211\",[372,67.647]],[\"comment/1211\",[]],[\"name/1212\",[4,14.128]],[\"comment/1212\",[]],[\"name/1213\",[181,32.093]],[\"comment/1213\",[]],[\"name/1214\",[121,51.552]],[\"comment/1214\",[]],[\"name/1215\",[373,67.647]],[\"comment/1215\",[]],[\"name/1216\",[4,14.128]],[\"comment/1216\",[]],[\"name/1217\",[181,32.093]],[\"comment/1217\",[]],[\"name/1218\",[37,56.66]],[\"comment/1218\",[]],[\"name/1219\",[4,14.128]],[\"comment/1219\",[]],[\"name/1220\",[181,32.093]],[\"comment/1220\",[]],[\"name/1221\",[361,54.654]],[\"comment/1221\",[]],[\"name/1222\",[4,14.128]],[\"comment/1222\",[]],[\"name/1223\",[181,32.093]],[\"comment/1223\",[]],[\"name/1224\",[362,54.654]],[\"comment/1224\",[]],[\"name/1225\",[363,54.654]],[\"comment/1225\",[]],[\"name/1226\",[364,54.654]],[\"comment/1226\",[]],[\"name/1227\",[374,67.647]],[\"comment/1227\",[]],[\"name/1228\",[4,14.128]],[\"comment/1228\",[]],[\"name/1229\",[181,32.093]],[\"comment/1229\",[]],[\"name/1230\",[359,59.174]],[\"comment/1230\",[]],[\"name/1231\",[4,14.128]],[\"comment/1231\",[]],[\"name/1232\",[181,32.093]],[\"comment/1232\",[]],[\"name/1233\",[361,54.654]],[\"comment/1233\",[]],[\"name/1234\",[4,14.128]],[\"comment/1234\",[]],[\"name/1235\",[181,32.093]],[\"comment/1235\",[]],[\"name/1236\",[362,54.654]],[\"comment/1236\",[]],[\"name/1237\",[363,54.654]],[\"comment/1237\",[]],[\"name/1238\",[364,54.654]],[\"comment/1238\",[]],[\"name/1239\",[375,67.647]],[\"comment/1239\",[]],[\"name/1240\",[376,67.647]],[\"comment/1240\",[]],[\"name/1241\",[4,14.128]],[\"comment/1241\",[]],[\"name/1242\",[186,50.301]],[\"comment/1242\",[]],[\"name/1243\",[377,67.647]],[\"comment/1243\",[]],[\"name/1244\",[378,67.647]],[\"comment/1244\",[]],[\"name/1245\",[379,67.647]],[\"comment/1245\",[]],[\"name/1246\",[380,67.647]],[\"comment/1246\",[]],[\"name/1247\",[260,46.444]],[\"comment/1247\",[]],[\"name/1248\",[381,67.647]],[\"comment/1248\",[]],[\"name/1249\",[382,67.647]],[\"comment/1249\",[]],[\"name/1250\",[383,67.647]],[\"comment/1250\",[]],[\"name/1251\",[384,67.647]],[\"comment/1251\",[]],[\"name/1252\",[385,67.647]],[\"comment/1252\",[]],[\"name/1253\",[233,52.983]],[\"comment/1253\",[]],[\"name/1254\",[386,67.647]],[\"comment/1254\",[]],[\"name/1255\",[387,67.647]],[\"comment/1255\",[]],[\"name/1256\",[388,67.647]],[\"comment/1256\",[]],[\"name/1257\",[389,67.647]],[\"comment/1257\",[]],[\"name/1258\",[390,67.647]],[\"comment/1258\",[]],[\"name/1259\",[391,67.647]],[\"comment/1259\",[]],[\"name/1260\",[392,67.647]],[\"comment/1260\",[]],[\"name/1261\",[393,67.647]],[\"comment/1261\",[]],[\"name/1262\",[394,67.647]],[\"comment/1262\",[]],[\"name/1263\",[395,67.647]],[\"comment/1263\",[]],[\"name/1264\",[83,49.188]],[\"comment/1264\",[]],[\"name/1265\",[86,48.187]],[\"comment/1265\",[]],[\"name/1266\",[87,62.538]],[\"comment/1266\",[]],[\"name/1267\",[396,67.647]],[\"comment/1267\",[]],[\"name/1268\",[397,67.647]],[\"comment/1268\",[]],[\"name/1269\",[398,67.647]],[\"comment/1269\",[]],[\"name/1270\",[399,67.647]],[\"comment/1270\",[]],[\"name/1271\",[400,67.647]],[\"comment/1271\",[]],[\"name/1272\",[93,50.301]],[\"comment/1272\",[]],[\"name/1273\",[401,67.647]],[\"comment/1273\",[]],[\"name/1274\",[356,62.538]],[\"comment/1274\",[]],[\"name/1275\",[96,62.538]],[\"comment/1275\",[]],[\"name/1276\",[402,67.647]],[\"comment/1276\",[]],[\"name/1277\",[4,14.128]],[\"comment/1277\",[]],[\"name/1278\",[403,67.647]],[\"comment/1278\",[]],[\"name/1279\",[404,67.647]],[\"comment/1279\",[]],[\"name/1280\",[405,59.174]],[\"comment/1280\",[]],[\"name/1281\",[405,59.174]],[\"comment/1281\",[]],[\"name/1282\",[405,59.174]],[\"comment/1282\",[]],[\"name/1283\",[406,59.174]],[\"comment/1283\",[]],[\"name/1284\",[406,59.174]],[\"comment/1284\",[]],[\"name/1285\",[407,67.647]],[\"comment/1285\",[]],[\"name/1286\",[408,62.538]],[\"comment/1286\",[]],[\"name/1287\",[408,62.538]],[\"comment/1287\",[]],[\"name/1288\",[409,67.647]],[\"comment/1288\",[]],[\"name/1289\",[410,67.647]],[\"comment/1289\",[]],[\"name/1290\",[411,67.647]],[\"comment/1290\",[]],[\"name/1291\",[412,67.647]],[\"comment/1291\",[]],[\"name/1292\",[3,44.293]],[\"comment/1292\",[]],[\"name/1293\",[413,67.647]],[\"comment/1293\",[]],[\"name/1294\",[414,67.647]],[\"comment/1294\",[]],[\"name/1295\",[415,67.647]],[\"comment/1295\",[]],[\"name/1296\",[416,67.647]],[\"comment/1296\",[]],[\"name/1297\",[417,67.647]],[\"comment/1297\",[]],[\"name/1298\",[406,59.174]],[\"comment/1298\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":4,\"name\":{\"4\":{},\"7\":{},\"10\":{},\"120\":{},\"125\":{},\"145\":{},\"157\":{},\"162\":{},\"164\":{},\"186\":{},\"213\":{},\"215\":{},\"217\":{},\"219\":{},\"221\":{},\"223\":{},\"225\":{},\"227\":{},\"229\":{},\"231\":{},\"233\":{},\"235\":{},\"237\":{},\"239\":{},\"241\":{},\"243\":{},\"245\":{},\"247\":{},\"258\":{},\"262\":{},\"266\":{},\"270\":{},\"273\":{},\"277\":{},\"280\":{},\"284\":{},\"288\":{},\"300\":{},\"303\":{},\"307\":{},\"310\":{},\"318\":{},\"324\":{},\"332\":{},\"334\":{},\"336\":{},\"342\":{},\"360\":{},\"363\":{},\"384\":{},\"402\":{},\"423\":{},\"438\":{},\"457\":{},\"463\":{},\"467\":{},\"476\":{},\"504\":{},\"506\":{},\"509\":{},\"511\":{},\"513\":{},\"515\":{},\"517\":{},\"519\":{},\"521\":{},\"523\":{},\"525\":{},\"527\":{},\"529\":{},\"531\":{},\"533\":{},\"535\":{},\"537\":{},\"539\":{},\"541\":{},\"543\":{},\"545\":{},\"547\":{},\"549\":{},\"551\":{},\"553\":{},\"555\":{},\"557\":{},\"559\":{},\"585\":{},\"587\":{},\"590\":{},\"592\":{},\"594\":{},\"596\":{},\"598\":{},\"600\":{},\"602\":{},\"604\":{},\"606\":{},\"608\":{},\"610\":{},\"612\":{},\"614\":{},\"616\":{},\"618\":{},\"620\":{},\"622\":{},\"624\":{},\"626\":{},\"628\":{},\"630\":{},\"632\":{},\"634\":{},\"636\":{},\"638\":{},\"640\":{},\"642\":{},\"644\":{},\"646\":{},\"648\":{},\"650\":{},\"652\":{},\"678\":{},\"680\":{},\"683\":{},\"685\":{},\"687\":{},\"689\":{},\"691\":{},\"693\":{},\"695\":{},\"697\":{},\"699\":{},\"701\":{},\"703\":{},\"705\":{},\"707\":{},\"709\":{},\"711\":{},\"713\":{},\"715\":{},\"717\":{},\"719\":{},\"721\":{},\"723\":{},\"725\":{},\"727\":{},\"729\":{},\"731\":{},\"733\":{},\"735\":{},\"737\":{},\"739\":{},\"750\":{},\"752\":{},\"755\":{},\"757\":{},\"759\":{},\"761\":{},\"763\":{},\"765\":{},\"767\":{},\"769\":{},\"771\":{},\"773\":{},\"783\":{},\"785\":{},\"788\":{},\"790\":{},\"792\":{},\"794\":{},\"796\":{},\"798\":{},\"800\":{},\"802\":{},\"804\":{},\"806\":{},\"808\":{},\"818\":{},\"820\":{},\"823\":{},\"825\":{},\"827\":{},\"829\":{},\"831\":{},\"833\":{},\"835\":{},\"837\":{},\"839\":{},\"841\":{},\"843\":{},\"845\":{},\"847\":{},\"857\":{},\"859\":{},\"862\":{},\"864\":{},\"866\":{},\"868\":{},\"870\":{},\"872\":{},\"874\":{},\"876\":{},\"878\":{},\"880\":{},\"882\":{},\"884\":{},\"886\":{},\"888\":{},\"890\":{},\"892\":{},\"894\":{},\"896\":{},\"898\":{},\"900\":{},\"910\":{},\"912\":{},\"915\":{},\"917\":{},\"919\":{},\"921\":{},\"923\":{},\"925\":{},\"927\":{},\"929\":{},\"931\":{},\"933\":{},\"935\":{},\"937\":{},\"939\":{},\"941\":{},\"943\":{},\"945\":{},\"947\":{},\"949\":{},\"951\":{},\"953\":{},\"955\":{},\"957\":{},\"959\":{},\"961\":{},\"963\":{},\"965\":{},\"972\":{},\"974\":{},\"977\":{},\"979\":{},\"981\":{},\"983\":{},\"985\":{},\"987\":{},\"989\":{},\"991\":{},\"993\":{},\"995\":{},\"997\":{},\"999\":{},\"1001\":{},\"1003\":{},\"1005\":{},\"1011\":{},\"1013\":{},\"1017\":{},\"1026\":{},\"1028\":{},\"1031\":{},\"1033\":{},\"1035\":{},\"1037\":{},\"1039\":{},\"1041\":{},\"1043\":{},\"1045\":{},\"1047\":{},\"1049\":{},\"1051\":{},\"1055\":{},\"1058\":{},\"1067\":{},\"1070\":{},\"1074\":{},\"1077\":{},\"1082\":{},\"1085\":{},\"1089\":{},\"1092\":{},\"1101\":{},\"1106\":{},\"1109\":{},\"1114\":{},\"1119\":{},\"1122\":{},\"1130\":{},\"1135\":{},\"1138\":{},\"1143\":{},\"1155\":{},\"1159\":{},\"1162\":{},\"1165\":{},\"1171\":{},\"1175\":{},\"1179\":{},\"1183\":{},\"1186\":{},\"1189\":{},\"1195\":{},\"1198\":{},\"1202\":{},\"1208\":{},\"1212\":{},\"1216\":{},\"1219\":{},\"1222\":{},\"1228\":{},\"1231\":{},\"1234\":{},\"1241\":{},\"1277\":{}},\"comment\":{}}],[\"__typename\",{\"_index\":181,\"name\":{\"263\":{},\"267\":{},\"271\":{},\"274\":{},\"278\":{},\"281\":{},\"285\":{},\"289\":{},\"301\":{},\"304\":{},\"308\":{},\"311\":{},\"1056\":{},\"1059\":{},\"1068\":{},\"1071\":{},\"1075\":{},\"1078\":{},\"1083\":{},\"1086\":{},\"1090\":{},\"1093\":{},\"1102\":{},\"1107\":{},\"1110\":{},\"1115\":{},\"1120\":{},\"1123\":{},\"1131\":{},\"1136\":{},\"1139\":{},\"1156\":{},\"1160\":{},\"1163\":{},\"1166\":{},\"1172\":{},\"1176\":{},\"1180\":{},\"1184\":{},\"1187\":{},\"1190\":{},\"1196\":{},\"1199\":{},\"1203\":{},\"1209\":{},\"1213\":{},\"1217\":{},\"1220\":{},\"1223\":{},\"1229\":{},\"1232\":{},\"1235\":{}},\"comment\":{}}],[\"_createuservault\",{\"_index\":60,\"name\":{\"62\":{}},\"comment\":{}}],[\"abi\",{\"_index\":259,\"name\":{\"501\":{},\"582\":{},\"675\":{},\"747\":{},\"780\":{},\"815\":{},\"854\":{},\"907\":{},\"969\":{},\"1008\":{},\"1023\":{}},\"comment\":{}}],[\"account\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"active\",{\"_index\":76,\"name\":{\"78\":{}},\"comment\":{}}],[\"addloancontract\",{\"_index\":297,\"name\":{\"758\":{},\"791\":{},\"826\":{}},\"comment\":{}}],[\"addnewtranche\",{\"_index\":293,\"name\":{\"734\":{}},\"comment\":{}}],[\"addorupdatelisting\",{\"_index\":200,\"name\":{\"302\":{}},\"comment\":{}}],[\"address\",{\"_index\":260,\"name\":{\"502\":{},\"583\":{},\"676\":{},\"748\":{},\"781\":{},\"816\":{},\"855\":{},\"908\":{},\"970\":{},\"1009\":{},\"1024\":{},\"1247\":{}},\"comment\":{}}],[\"addtranche\",{\"_index\":43,\"name\":{\"45\":{},\"494\":{},\"576\":{},\"669\":{}},\"comment\":{}}],[\"addwhitelistedcallbackcontract\",{\"_index\":265,\"name\":{\"516\":{},\"597\":{},\"690\":{}},\"comment\":{}}],[\"afternfttransfer\",{\"_index\":329,\"name\":{\"986\":{}},\"comment\":{}}],[\"afterprincipaltransfer\",{\"_index\":330,\"name\":{\"988\":{}},\"comment\":{}}],[\"all\",{\"_index\":154,\"name\":{\"175\":{}},\"comment\":{}}],[\"allv4\",{\"_index\":295,\"name\":{\"740\":{}},\"comment\":{}}],[\"allv5\",{\"_index\":300,\"name\":{\"774\":{}},\"comment\":{}}],[\"allv6\",{\"_index\":302,\"name\":{\"809\":{}},\"comment\":{}}],[\"amount\",{\"_index\":352,\"name\":{\"1144\":{}},\"comment\":{}}],[\"amounts\",{\"_index\":210,\"name\":{\"322\":{}},\"comment\":{}}],[\"api\",{\"_index\":7,\"name\":{\"8\":{},\"183\":{},\"185\":{}},\"comment\":{}}],[\"apiclient\",{\"_index\":142,\"name\":{\"158\":{},\"1052\":{}},\"comment\":{}}],[\"approve\",{\"_index\":309,\"name\":{\"867\":{},\"920\":{},\"1032\":{}},\"comment\":{}}],[\"approvenftforall\",{\"_index\":56,\"name\":{\"58\":{}},\"comment\":{}}],[\"approvesigner\",{\"_index\":266,\"name\":{\"518\":{}},\"comment\":{}}],[\"approvetoken\",{\"_index\":58,\"name\":{\"60\":{}},\"comment\":{}}],[\"aprbps\",{\"_index\":83,\"name\":{\"85\":{},\"343\":{},\"364\":{},\"385\":{},\"403\":{},\"424\":{},\"439\":{},\"468\":{},\"1264\":{}},\"comment\":{}}],[\"arguments\",{\"_index\":178,\"name\":{\"259\":{}},\"comment\":{}}],[\"asc\",{\"_index\":98,\"name\":{\"100\":{}},\"comment\":{}}],[\"auction\",{\"_index\":204,\"name\":{\"314\":{}},\"comment\":{}}],[\"auctionloanliquidatorabi\",{\"_index\":406,\"name\":{\"1283\":{},\"1284\":{},\"1298\":{}},\"comment\":{}}],[\"auctionloanliquidatorv4\",{\"_index\":148,\"name\":{\"168\":{}},\"comment\":{}}],[\"auctionloanliquidatorv5\",{\"_index\":149,\"name\":{\"169\":{}},\"comment\":{}}],[\"auctionloanliquidatorv6\",{\"_index\":150,\"name\":{\"170\":{}},\"comment\":{}}],[\"auctionv5\",{\"_index\":392,\"name\":{\"1260\":{}},\"comment\":{}}],[\"auctionv6\",{\"_index\":393,\"name\":{\"1261\":{}},\"comment\":{}}],[\"auctionwithbuyoutloanliquidatorabi\",{\"_index\":407,\"name\":{\"1285\":{}},\"comment\":{}}],[\"balanceof\",{\"_index\":54,\"name\":{\"56\":{}},\"comment\":{}}],[\"basecontract\",{\"_index\":336,\"name\":{\"1006\":{}},\"comment\":{}}],[\"bcclient\",{\"_index\":6,\"name\":{\"6\":{},\"503\":{},\"584\":{},\"677\":{},\"749\":{},\"782\":{},\"817\":{},\"856\":{},\"909\":{},\"971\":{},\"1010\":{},\"1025\":{}},\"comment\":{}}],[\"bigint\",{\"_index\":381,\"name\":{\"1248\":{}},\"comment\":{}}],[\"boolean\",{\"_index\":378,\"name\":{\"1244\":{}},\"comment\":{}}],[\"borrower\",{\"_index\":125,\"name\":{\"130\":{}},\"comment\":{}}],[\"borroweraddress\",{\"_index\":220,\"name\":{\"344\":{},\"365\":{},\"386\":{},\"404\":{},\"1064\":{},\"1098\":{}},\"comment\":{}}],[\"borrowers\",{\"_index\":128,\"name\":{\"136\":{}},\"comment\":{}}],[\"burn\",{\"_index\":314,\"name\":{\"877\":{},\"930\":{}},\"comment\":{}}],[\"burnandwithdraw\",{\"_index\":305,\"name\":{\"850\":{},\"879\":{},\"903\":{},\"932\":{}},\"comment\":{}}],[\"burnandwithdrawargs\",{\"_index\":211,\"name\":{\"323\":{}},\"comment\":{}}],[\"burnuservaultandwithdraw\",{\"_index\":63,\"name\":{\"65\":{}},\"comment\":{}}],[\"buy\",{\"_index\":331,\"name\":{\"990\":{}},\"comment\":{}}],[\"cancelalloffers\",{\"_index\":15,\"name\":{\"17\":{},\"484\":{},\"520\":{},\"565\":{},\"599\":{},\"658\":{},\"692\":{}},\"comment\":{}}],[\"cancelallrenegotiationoffers\",{\"_index\":267,\"name\":{\"522\":{},\"601\":{}},\"comment\":{}}],[\"cancelallrenegotiations\",{\"_index\":24,\"name\":{\"26\":{},\"486\":{},\"567\":{},\"660\":{}},\"comment\":{}}],[\"cancelled\",{\"_index\":77,\"name\":{\"79\":{}},\"comment\":{}}],[\"canceloffer\",{\"_index\":14,\"name\":{\"16\":{},\"483\":{},\"524\":{},\"564\":{},\"603\":{},\"657\":{},\"694\":{}},\"comment\":{}}],[\"canceloffers\",{\"_index\":268,\"name\":{\"526\":{},\"605\":{}},\"comment\":{}}],[\"cancelrefinanceoffer\",{\"_index\":19,\"name\":{\"21\":{},\"485\":{},\"566\":{},\"659\":{}},\"comment\":{}}],[\"cancelrenegotiationoffer\",{\"_index\":269,\"name\":{\"528\":{},\"607\":{},\"696\":{}},\"comment\":{}}],[\"cancelrenegotiationoffers\",{\"_index\":270,\"name\":{\"530\":{},\"609\":{}},\"comment\":{}}],[\"capacity\",{\"_index\":221,\"name\":{\"345\":{},\"366\":{},\"387\":{},\"405\":{}},\"comment\":{}}],[\"collection\",{\"_index\":123,\"name\":{\"128\":{},\"320\":{},\"333\":{},\"1066\":{},\"1081\":{},\"1104\":{},\"1117\":{},\"1133\":{},\"1173\":{},\"1181\":{}},\"comment\":{}}],[\"collectionbycontractaddress\",{\"_index\":166,\"name\":{\"203\":{},\"228\":{}},\"comment\":{}}],[\"collectionbycontractaddressquery\",{\"_index\":365,\"name\":{\"1170\":{}},\"comment\":{}}],[\"collectionid\",{\"_index\":36,\"name\":{\"38\":{},\"388\":{},\"406\":{}},\"comment\":{}}],[\"collectionidbyslug\",{\"_index\":168,\"name\":{\"205\":{},\"224\":{}},\"comment\":{}}],[\"collectionidbyslugquery\",{\"_index\":367,\"name\":{\"1178\":{}},\"comment\":{}}],[\"collectionoffer\",{\"_index\":112,\"name\":{\"115\":{}},\"comment\":{}}],[\"collectionofferinput\",{\"_index\":110,\"name\":{\"113\":{},\"383\":{}},\"comment\":{}}],[\"collections\",{\"_index\":35,\"name\":{\"37\":{},\"137\":{},\"146\":{},\"202\":{},\"222\":{},\"326\":{},\"1161\":{},\"1177\":{}},\"comment\":{}}],[\"collectionsidbycontractaddress\",{\"_index\":167,\"name\":{\"204\":{},\"226\":{}},\"comment\":{}}],[\"collectionsidbycontractaddressquery\",{\"_index\":366,\"name\":{\"1174\":{}},\"comment\":{}}],[\"collectionsignedofferinput\",{\"_index\":234,\"name\":{\"401\":{}},\"comment\":{}}],[\"collectionsquery\",{\"_index\":360,\"name\":{\"1158\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":1,\"name\":{\"1\":{},\"160\":{},\"184\":{},\"480\":{},\"561\":{},\"654\":{},\"742\":{},\"775\":{},\"810\":{},\"849\":{},\"902\":{},\"967\":{},\"1007\":{},\"1020\":{}},\"comment\":{}}],[\"contract\",{\"_index\":261,\"name\":{\"507\":{},\"588\":{},\"681\":{},\"753\":{},\"786\":{},\"821\":{},\"860\":{},\"913\":{},\"975\":{},\"1014\":{},\"1029\":{}},\"comment\":{}}],[\"contractaddress\",{\"_index\":217,\"name\":{\"337\":{},\"346\":{},\"367\":{},\"389\":{},\"407\":{},\"1072\":{},\"1087\":{},\"1145\":{}},\"comment\":{}}],[\"contractdata\",{\"_index\":216,\"name\":{\"335\":{},\"1069\":{},\"1084\":{}},\"comment\":{}}],[\"contracts\",{\"_index\":2,\"name\":{\"2\":{},\"159\":{}},\"comment\":{}}],[\"createddate\",{\"_index\":84,\"name\":{\"86\":{}},\"comment\":{}}],[\"createuservault\",{\"_index\":59,\"name\":{\"61\":{}},\"comment\":{}}],[\"createvault\",{\"_index\":306,\"name\":{\"851\":{},\"904\":{}},\"comment\":{}}],[\"createvaultargs\",{\"_index\":205,\"name\":{\"315\":{}},\"comment\":{}}],[\"currencyaddress\",{\"_index\":353,\"name\":{\"1146\":{}},\"comment\":{}}],[\"cursor\",{\"_index\":118,\"name\":{\"122\":{},\"135\":{},\"150\":{}},\"comment\":{}}],[\"dailyinterest\",{\"_index\":85,\"name\":{\"87\":{}},\"comment\":{}}],[\"datetime\",{\"_index\":382,\"name\":{\"1249\":{}},\"comment\":{}}],[\"defaults\",{\"_index\":8,\"name\":{\"9\":{}},\"comment\":{}}],[\"delegate\",{\"_index\":45,\"name\":{\"47\":{},\"497\":{},\"579\":{},\"637\":{},\"672\":{},\"720\":{}},\"comment\":{}}],[\"delegatemulticall\",{\"_index\":44,\"name\":{\"46\":{},\"496\":{},\"578\":{},\"671\":{}},\"comment\":{}}],[\"depositerc1155\",{\"_index\":323,\"name\":{\"952\":{}},\"comment\":{}}],[\"depositerc1155s\",{\"_index\":308,\"name\":{\"853\":{},\"906\":{},\"954\":{}},\"comment\":{}}],[\"depositerc1155sargs\",{\"_index\":207,\"name\":{\"317\":{}},\"comment\":{}}],[\"depositerc20\",{\"_index\":315,\"name\":{\"881\":{},\"934\":{}},\"comment\":{}}],[\"depositerc721\",{\"_index\":316,\"name\":{\"883\":{},\"936\":{}},\"comment\":{}}],[\"depositerc721s\",{\"_index\":307,\"name\":{\"852\":{},\"885\":{},\"905\":{},\"938\":{}},\"comment\":{}}],[\"depositerc721sargs\",{\"_index\":206,\"name\":{\"316\":{}},\"comment\":{}}],[\"depositeth\",{\"_index\":317,\"name\":{\"887\":{},\"940\":{}},\"comment\":{}}],[\"deposituservaulterc1155s\",{\"_index\":62,\"name\":{\"64\":{}},\"comment\":{}}],[\"deposituservaulterc721s\",{\"_index\":61,\"name\":{\"63\":{}},\"comment\":{}}],[\"desc\",{\"_index\":99,\"name\":{\"101\":{}},\"comment\":{}}],[\"duration\",{\"_index\":86,\"name\":{\"88\":{},\"295\":{},\"347\":{},\"368\":{},\"390\":{},\"408\":{},\"425\":{},\"440\":{},\"469\":{},\"1265\":{}},\"comment\":{}}],[\"durationofinterest\",{\"_index\":245,\"name\":{\"458\":{}},\"comment\":{}}],[\"edges\",{\"_index\":364,\"name\":{\"1169\":{},\"1193\":{},\"1206\":{},\"1226\":{},\"1238\":{}},\"comment\":{}}],[\"effectiveaprbps\",{\"_index\":87,\"name\":{\"89\":{},\"1266\":{}},\"comment\":{}}],[\"emitloan\",{\"_index\":26,\"name\":{\"28\":{},\"487\":{},\"546\":{},\"568\":{},\"625\":{},\"661\":{},\"710\":{}},\"comment\":{}}],[\"emitloanargs\",{\"_index\":193,\"name\":{\"292\":{}},\"comment\":{}}],[\"endcursor\",{\"_index\":362,\"name\":{\"1167\":{},\"1191\":{},\"1204\":{},\"1224\":{},\"1236\":{}},\"comment\":{}}],[\"enddate\",{\"_index\":396,\"name\":{\"1267\":{}},\"comment\":{}}],[\"erc1155\",{\"_index\":104,\"name\":{\"107\":{},\"180\":{}},\"comment\":{}}],[\"erc1155abi\",{\"_index\":411,\"name\":{\"1290\":{}},\"comment\":{}}],[\"erc1155collections\",{\"_index\":213,\"name\":{\"329\":{}},\"comment\":{}}],[\"erc1155tokenids\",{\"_index\":214,\"name\":{\"330\":{}},\"comment\":{}}],[\"erc20\",{\"_index\":156,\"name\":{\"182\":{}},\"comment\":{}}],[\"erc721\",{\"_index\":103,\"name\":{\"106\":{},\"178\":{}},\"comment\":{}}],[\"erc721abi\",{\"_index\":410,\"name\":{\"1289\":{}},\"comment\":{}}],[\"erc721or1155abi\",{\"_index\":337,\"name\":{\"1018\":{}},\"comment\":{}}],[\"exact\",{\"_index\":203,\"name\":{\"313\":{}},\"comment\":{}}],[\"executed\",{\"_index\":78,\"name\":{\"80\":{}},\"comment\":{}}],[\"executeflashaction\",{\"_index\":285,\"name\":{\"641\":{},\"724\":{}},\"comment\":{}}],[\"expectedinterest\",{\"_index\":397,\"name\":{\"1268\":{}},\"comment\":{}}],[\"expiration\",{\"_index\":88,\"name\":{\"90\":{}},\"comment\":{}}],[\"expirationdate\",{\"_index\":398,\"name\":{\"1269\":{}},\"comment\":{}}],[\"expirationtime\",{\"_index\":197,\"name\":{\"297\":{},\"348\":{},\"369\":{},\"391\":{},\"409\":{},\"426\":{},\"441\":{},\"1147\":{}},\"comment\":{}}],[\"expired\",{\"_index\":79,\"name\":{\"81\":{}},\"comment\":{}}],[\"extendloan\",{\"_index\":286,\"name\":{\"643\":{}},\"comment\":{}}],[\"fee\",{\"_index\":89,\"name\":{\"91\":{},\"349\":{},\"370\":{},\"392\":{},\"410\":{},\"470\":{}},\"comment\":{}}],[\"feeamount\",{\"_index\":236,\"name\":{\"427\":{},\"442\":{}},\"comment\":{}}],[\"field\",{\"_index\":246,\"name\":{\"459\":{},\"464\":{}},\"comment\":{}}],[\"filterby\",{\"_index\":120,\"name\":{\"124\":{}},\"comment\":{}}],[\"finalupdatemultisourceloanaddress\",{\"_index\":332,\"name\":{\"992\":{}},\"comment\":{}}],[\"float\",{\"_index\":380,\"name\":{\"1246\":{}},\"comment\":{}}],[\"fulfilled\",{\"_index\":138,\"name\":{\"152\":{}},\"comment\":{}}],[\"generatecollectionofferhash\",{\"_index\":159,\"name\":{\"189\":{},\"214\":{}},\"comment\":{}}],[\"generatecollectionofferhashmutation\",{\"_index\":343,\"name\":{\"1054\":{}},\"comment\":{}}],[\"generaterenegotiationofferhash\",{\"_index\":163,\"name\":{\"195\":{},\"216\":{}},\"comment\":{}}],[\"generaterenegotiationofferhashmutation\",{\"_index\":349,\"name\":{\"1118\":{}},\"comment\":{}}],[\"generatesinglenftofferhash\",{\"_index\":161,\"name\":{\"192\":{},\"212\":{}},\"comment\":{}}],[\"generatesinglenftofferhashmutation\",{\"_index\":347,\"name\":{\"1088\":{}},\"comment\":{}}],[\"getauctionremaininglockupseconds\",{\"_index\":52,\"name\":{\"54\":{}},\"comment\":{}}],[\"getowner\",{\"_index\":53,\"name\":{\"55\":{}},\"comment\":{}}],[\"getremaininglockupseconds\",{\"_index\":38,\"name\":{\"40\":{},\"489\":{},\"571\":{},\"664\":{},\"744\":{},\"777\":{},\"812\":{}},\"comment\":{}}],[\"getwrapperaddress\",{\"_index\":175,\"name\":{\"255\":{}},\"comment\":{}}],[\"gondi\",{\"_index\":0,\"name\":{\"0\":{},\"103\":{}},\"comment\":{}}],[\"gondiprops\",{\"_index\":141,\"name\":{\"155\":{}},\"comment\":{}}],[\"hash\",{\"_index\":383,\"name\":{\"1250\":{}},\"comment\":{}}],[\"hasnextpage\",{\"_index\":363,\"name\":{\"1168\":{},\"1192\":{},\"1205\":{},\"1225\":{},\"1237\":{}},\"comment\":{}}],[\"hex\",{\"_index\":384,\"name\":{\"1251\":{}},\"comment\":{}}],[\"hexstring\",{\"_index\":394,\"name\":{\"1262\":{}},\"comment\":{}}],[\"hideoffer\",{\"_index\":16,\"name\":{\"18\":{},\"191\":{},\"236\":{},\"264\":{}},\"comment\":{}}],[\"hideoffermutation\",{\"_index\":180,\"name\":{\"261\":{}},\"comment\":{}}],[\"hideorder\",{\"_index\":22,\"name\":{\"24\":{},\"199\":{},\"244\":{},\"286\":{}},\"comment\":{}}],[\"hideordermutation\",{\"_index\":189,\"name\":{\"283\":{}},\"comment\":{}}],[\"hiderenegotiation\",{\"_index\":185,\"name\":{\"272\":{}},\"comment\":{}}],[\"hiderenegotiationoffer\",{\"_index\":20,\"name\":{\"22\":{},\"196\":{},\"238\":{}},\"comment\":{}}],[\"hiderenegotiationoffermutation\",{\"_index\":184,\"name\":{\"269\":{}},\"comment\":{}}],[\"id\",{\"_index\":186,\"name\":{\"275\":{},\"282\":{},\"305\":{},\"312\":{},\"1079\":{},\"1111\":{},\"1140\":{},\"1242\":{}},\"comment\":{}}],[\"inactive\",{\"_index\":80,\"name\":{\"82\":{}},\"comment\":{}}],[\"inputmaybe\",{\"_index\":176,\"name\":{\"256\":{}},\"comment\":{}}],[\"int\",{\"_index\":379,\"name\":{\"1245\":{}},\"comment\":{}}],[\"internal\",{\"_index\":140,\"name\":{\"154\":{}},\"comment\":{}}],[\"interval\",{\"_index\":402,\"name\":{\"1276\":{}},\"comment\":{}}],[\"isaddnewtranche\",{\"_index\":237,\"name\":{\"428\":{},\"443\":{}},\"comment\":{}}],[\"isapprovednftforall\",{\"_index\":55,\"name\":{\"57\":{}},\"comment\":{}}],[\"isapprovedtoken\",{\"_index\":57,\"name\":{\"59\":{}},\"comment\":{}}],[\"isask\",{\"_index\":354,\"name\":{\"1148\":{}},\"comment\":{}}],[\"isendlockedup\",{\"_index\":39,\"name\":{\"41\":{},\"490\":{},\"572\":{},\"665\":{}},\"comment\":{}}],[\"json\",{\"_index\":385,\"name\":{\"1252\":{}},\"comment\":{}}],[\"lenderaddress\",{\"_index\":222,\"name\":{\"350\":{},\"371\":{},\"393\":{},\"411\":{},\"429\":{},\"444\":{},\"1062\":{},\"1096\":{},\"1127\":{}},\"comment\":{}}],[\"lenders\",{\"_index\":126,\"name\":{\"131\":{}},\"comment\":{}}],[\"limit\",{\"_index\":117,\"name\":{\"121\":{},\"134\":{},\"149\":{}},\"comment\":{}}],[\"liquidateloan\",{\"_index\":48,\"name\":{\"50\":{},\"500\":{},\"512\":{},\"581\":{},\"593\":{},\"674\":{},\"686\":{},\"760\":{},\"793\":{},\"828\":{}},\"comment\":{}}],[\"list\",{\"_index\":31,\"name\":{\"33\":{}},\"comment\":{}}],[\"listings\",{\"_index\":33,\"name\":{\"35\":{}},\"comment\":{}}],[\"listlistings\",{\"_index\":169,\"name\":{\"206\":{},\"254\":{}},\"comment\":{}}],[\"listlistingsprops\",{\"_index\":134,\"name\":{\"144\":{}},\"comment\":{}}],[\"listlistingsquery\",{\"_index\":368,\"name\":{\"1182\":{}},\"comment\":{}}],[\"listloans\",{\"_index\":170,\"name\":{\"207\":{},\"253\":{}},\"comment\":{}}],[\"listloansprops\",{\"_index\":127,\"name\":{\"133\":{}},\"comment\":{}}],[\"listloansquery\",{\"_index\":369,\"name\":{\"1194\":{}},\"comment\":{}}],[\"listnft\",{\"_index\":157,\"name\":{\"187\":{},\"230\":{}},\"comment\":{}}],[\"listnftmutation\",{\"_index\":199,\"name\":{\"299\":{}},\"comment\":{}}],[\"listoffers\",{\"_index\":173,\"name\":{\"211\":{},\"252\":{}},\"comment\":{}}],[\"listoffersprops\",{\"_index\":116,\"name\":{\"119\":{}},\"comment\":{}}],[\"listoffersquery\",{\"_index\":374,\"name\":{\"1227\":{}},\"comment\":{}}],[\"loan_settlement_encode_types\",{\"_index\":296,\"name\":{\"741\":{}},\"comment\":{}}],[\"loanauctioned\",{\"_index\":68,\"name\":{\"70\":{}},\"comment\":{}}],[\"loanauctionedwithbuyout\",{\"_index\":69,\"name\":{\"71\":{}},\"comment\":{}}],[\"loandefaulted\",{\"_index\":70,\"name\":{\"72\":{}},\"comment\":{}}],[\"loanforeclosed\",{\"_index\":71,\"name\":{\"73\":{}},\"comment\":{}}],[\"loanid\",{\"_index\":238,\"name\":{\"430\":{},\"445\":{},\"1124\":{}},\"comment\":{}}],[\"loaninitiated\",{\"_index\":72,\"name\":{\"74\":{}},\"comment\":{}}],[\"loanliquidated\",{\"_index\":271,\"name\":{\"532\":{},\"611\":{},\"698\":{}},\"comment\":{}}],[\"loanrepaid\",{\"_index\":73,\"name\":{\"75\":{}},\"comment\":{}}],[\"loans\",{\"_index\":30,\"name\":{\"32\":{},\"1197\":{}},\"comment\":{}}],[\"loanscurrencyaddress\",{\"_index\":133,\"name\":{\"143\":{}},\"comment\":{}}],[\"loansenttoauction\",{\"_index\":74,\"name\":{\"76\":{}},\"comment\":{}}],[\"loansortfield\",{\"_index\":395,\"name\":{\"1263\":{}},\"comment\":{}}],[\"loansortinput\",{\"_index\":249,\"name\":{\"462\":{}},\"comment\":{}}],[\"loanstatustype\",{\"_index\":67,\"name\":{\"69\":{}},\"comment\":{}}],[\"loantomslloantype\",{\"_index\":198,\"name\":{\"298\":{}},\"comment\":{}}],[\"loanv4\",{\"_index\":389,\"name\":{\"1257\":{}},\"comment\":{}}],[\"loanv5\",{\"_index\":390,\"name\":{\"1258\":{}},\"comment\":{}}],[\"loanv6\",{\"_index\":391,\"name\":{\"1259\":{}},\"comment\":{}}],[\"makecollectionoffer\",{\"_index\":12,\"name\":{\"14\":{}},\"comment\":{}}],[\"makeoffertype\",{\"_index\":388,\"name\":{\"1256\":{}},\"comment\":{}}],[\"makeorder\",{\"_index\":13,\"name\":{\"15\":{}},\"comment\":{}}],[\"makerefinanceoffer\",{\"_index\":18,\"name\":{\"20\":{}},\"comment\":{}}],[\"makesinglenftoffer\",{\"_index\":11,\"name\":{\"13\":{}},\"comment\":{}}],[\"marketplaceenum\",{\"_index\":100,\"name\":{\"102\":{}},\"comment\":{}}],[\"marketplaces\",{\"_index\":136,\"name\":{\"148\":{}},\"comment\":{}}],[\"max\",{\"_index\":403,\"name\":{\"1278\":{}},\"comment\":{}}],[\"maxprincipal\",{\"_index\":90,\"name\":{\"92\":{},\"471\":{}},\"comment\":{}}],[\"maxseniorrepayment\",{\"_index\":223,\"name\":{\"351\":{},\"361\":{},\"372\":{},\"394\":{},\"412\":{}},\"comment\":{}}],[\"maxseniorrepaymentarg\",{\"_index\":229,\"name\":{\"359\":{}},\"comment\":{}}],[\"maxtranchefloor\",{\"_index\":224,\"name\":{\"352\":{},\"373\":{},\"395\":{},\"413\":{}},\"comment\":{}}],[\"maybe\",{\"_index\":375,\"name\":{\"1239\":{}},\"comment\":{}}],[\"min\",{\"_index\":404,\"name\":{\"1279\":{}},\"comment\":{}}],[\"mint\",{\"_index\":313,\"name\":{\"875\":{},\"928\":{}},\"comment\":{}}],[\"msl\",{\"_index\":9,\"name\":{\"11\":{},\"174\":{}},\"comment\":{}}],[\"mslv4\",{\"_index\":256,\"name\":{\"479\":{}},\"comment\":{}}],[\"mslv5\",{\"_index\":283,\"name\":{\"560\":{}},\"comment\":{}}],[\"mslv6\",{\"_index\":290,\"name\":{\"653\":{}},\"comment\":{}}],[\"multicall\",{\"_index\":284,\"name\":{\"635\":{},\"718\":{}},\"comment\":{}}],[\"multisourceloanabi\",{\"_index\":405,\"name\":{\"1280\":{},\"1281\":{},\"1282\":{}},\"comment\":{}}],[\"multisourceloanv4\",{\"_index\":145,\"name\":{\"165\":{}},\"comment\":{}}],[\"multisourceloanv5\",{\"_index\":146,\"name\":{\"166\":{}},\"comment\":{}}],[\"multisourceloanv6\",{\"_index\":147,\"name\":{\"167\":{}},\"comment\":{}}],[\"netinterest\",{\"_index\":91,\"name\":{\"93\":{}},\"comment\":{}}],[\"netprincipal\",{\"_index\":92,\"name\":{\"94\":{},\"472\":{}},\"comment\":{}}],[\"nft\",{\"_index\":121,\"name\":{\"126\":{},\"177\":{},\"1100\":{},\"1113\":{},\"1129\":{},\"1210\":{},\"1214\":{}},\"comment\":{}}],[\"nftfi\",{\"_index\":101,\"name\":{\"104\":{}},\"comment\":{}}],[\"nftid\",{\"_index\":34,\"name\":{\"36\":{},\"353\":{},\"374\":{}},\"comment\":{}}],[\"nftidbycontractaddressandtokenid\",{\"_index\":171,\"name\":{\"208\":{},\"220\":{}},\"comment\":{}}],[\"nftidbycontractaddressandtokenidquery\",{\"_index\":371,\"name\":{\"1207\":{}},\"comment\":{}}],[\"nftidbyslugtokenid\",{\"_index\":172,\"name\":{\"209\":{},\"218\":{}},\"comment\":{}}],[\"nftidbyslugtokenidquery\",{\"_index\":372,\"name\":{\"1211\":{}},\"comment\":{}}],[\"nftorderinput\",{\"_index\":351,\"name\":{\"1142\":{}},\"comment\":{}}],[\"nfts\",{\"_index\":129,\"name\":{\"138\":{}},\"comment\":{}}],[\"nftstandard\",{\"_index\":137,\"name\":{\"151\":{}},\"comment\":{}}],[\"offer\",{\"_index\":344,\"name\":{\"1057\":{},\"1076\":{},\"1091\":{},\"1108\":{},\"1121\":{},\"1137\":{}},\"comment\":{}}],[\"offerexecution\",{\"_index\":194,\"name\":{\"293\":{}},\"comment\":{}}],[\"offerexecutionfromoffers\",{\"_index\":25,\"name\":{\"27\":{}},\"comment\":{}}],[\"offerfromexecutionoffer\",{\"_index\":192,\"name\":{\"291\":{}},\"comment\":{}}],[\"offerhash\",{\"_index\":231,\"name\":{\"375\":{},\"414\":{},\"446\":{},\"1060\":{},\"1094\":{},\"1126\":{}},\"comment\":{}}],[\"offerid\",{\"_index\":232,\"name\":{\"376\":{},\"415\":{},\"1061\":{},\"1095\":{}},\"comment\":{}}],[\"offers\",{\"_index\":29,\"name\":{\"31\":{}},\"comment\":{}}],[\"offerssortfield\",{\"_index\":82,\"name\":{\"84\":{}},\"comment\":{}}],[\"offerssortinput\",{\"_index\":244,\"name\":{\"456\":{}},\"comment\":{}}],[\"offerstatus\",{\"_index\":75,\"name\":{\"77\":{}},\"comment\":{}}],[\"offervalidatorinput\",{\"_index\":177,\"name\":{\"257\":{}},\"comment\":{}}],[\"offervalidators\",{\"_index\":225,\"name\":{\"354\":{},\"377\":{},\"396\":{},\"416\":{}},\"comment\":{}}],[\"olderc721\",{\"_index\":105,\"name\":{\"108\":{},\"179\":{}},\"comment\":{}}],[\"olderc721wrapper\",{\"_index\":155,\"name\":{\"181\":{},\"1019\":{}},\"comment\":{}}],[\"olderc721wrapperabi\",{\"_index\":412,\"name\":{\"1291\":{}},\"comment\":{}}],[\"onerc1155batchreceived\",{\"_index\":326,\"name\":{\"960\":{}},\"comment\":{}}],[\"onerc1155received\",{\"_index\":327,\"name\":{\"962\":{}},\"comment\":{}}],[\"onerc721received\",{\"_index\":264,\"name\":{\"514\":{},\"595\":{},\"688\":{},\"762\":{},\"795\":{},\"830\":{},\"865\":{},\"918\":{},\"980\":{}},\"comment\":{}}],[\"onlycollectionoffers\",{\"_index\":124,\"name\":{\"129\":{}},\"comment\":{}}],[\"onlyorexclude\",{\"_index\":254,\"name\":{\"477\":{}},\"comment\":{}}],[\"onlysinglenftoffers\",{\"_index\":122,\"name\":{\"127\":{}},\"comment\":{}}],[\"optional\",{\"_index\":219,\"name\":{\"340\":{}},\"comment\":{}}],[\"optionalnullable\",{\"_index\":387,\"name\":{\"1255\":{}},\"comment\":{}}],[\"order\",{\"_index\":247,\"name\":{\"460\":{},\"465\":{}},\"comment\":{}}],[\"orderbystatuses\",{\"_index\":132,\"name\":{\"142\":{}},\"comment\":{}}],[\"ordering\",{\"_index\":97,\"name\":{\"99\":{}},\"comment\":{}}],[\"originationfee\",{\"_index\":399,\"name\":{\"1270\":{}},\"comment\":{}}],[\"outperformed\",{\"_index\":81,\"name\":{\"83\":{}},\"comment\":{}}],[\"ownednfts\",{\"_index\":37,\"name\":{\"39\":{},\"210\":{},\"234\":{},\"1218\":{}},\"comment\":{}}],[\"ownednftsquery\",{\"_index\":373,\"name\":{\"1215\":{}},\"comment\":{}}],[\"pageinfo\",{\"_index\":361,\"name\":{\"1164\":{},\"1188\":{},\"1201\":{},\"1221\":{},\"1233\":{}},\"comment\":{}}],[\"paidinterest\",{\"_index\":400,\"name\":{\"1271\":{}},\"comment\":{}}],[\"parseeventlogs\",{\"_index\":282,\"name\":{\"558\":{},\"651\":{},\"738\":{},\"772\":{},\"807\":{},\"846\":{},\"899\":{},\"964\":{},\"1004\":{},\"1016\":{},\"1048\":{}},\"comment\":{}}],[\"placebid\",{\"_index\":49,\"name\":{\"51\":{},\"743\":{},\"764\":{},\"776\":{},\"797\":{},\"811\":{},\"832\":{}},\"comment\":{}}],[\"placebidabitypev5\",{\"_index\":416,\"name\":{\"1296\":{}},\"comment\":{}}],[\"placebidabitypev6\",{\"_index\":417,\"name\":{\"1297\":{}},\"comment\":{}}],[\"principal\",{\"_index\":251,\"name\":{\"473\":{}},\"comment\":{}}],[\"principaladdress\",{\"_index\":226,\"name\":{\"355\":{},\"378\":{},\"397\":{},\"417\":{}},\"comment\":{}}],[\"principalamount\",{\"_index\":93,\"name\":{\"95\":{},\"356\":{},\"379\":{},\"398\":{},\"418\":{},\"431\":{},\"447\":{},\"1272\":{}},\"comment\":{}}],[\"principalofinterest\",{\"_index\":248,\"name\":{\"461\":{}},\"comment\":{}}],[\"principalreceiver\",{\"_index\":196,\"name\":{\"296\":{}},\"comment\":{}}],[\"props\",{\"_index\":342,\"name\":{\"1050\":{}},\"comment\":{}}],[\"publicclient\",{\"_index\":143,\"name\":{\"161\":{}},\"comment\":{}}],[\"publishorder\",{\"_index\":165,\"name\":{\"200\":{},\"249\":{}},\"comment\":{}}],[\"publishordermutation\",{\"_index\":358,\"name\":{\"1154\":{}},\"comment\":{}}],[\"purchasebundler\",{\"_index\":153,\"name\":{\"173\":{},\"966\":{}},\"comment\":{}}],[\"purchasebundlerabi\",{\"_index\":409,\"name\":{\"1288\":{}},\"comment\":{}}],[\"refinancebatch\",{\"_index\":40,\"name\":{\"42\":{},\"491\":{},\"573\":{},\"666\":{}},\"comment\":{}}],[\"refinancefromloanexecutiondata\",{\"_index\":294,\"name\":{\"736\":{}},\"comment\":{}}],[\"refinancefromoffers\",{\"_index\":27,\"name\":{\"29\":{},\"495\":{},\"577\":{},\"670\":{}},\"comment\":{}}],[\"refinancefull\",{\"_index\":278,\"name\":{\"548\":{},\"627\":{},\"712\":{}},\"comment\":{}}],[\"refinancefullloan\",{\"_index\":41,\"name\":{\"43\":{},\"492\":{},\"574\":{},\"667\":{}},\"comment\":{}}],[\"refinancepartial\",{\"_index\":279,\"name\":{\"550\":{},\"629\":{},\"714\":{}},\"comment\":{}}],[\"refinancepartialbatch\",{\"_index\":280,\"name\":{\"552\":{}},\"comment\":{}}],[\"refinancepartialloan\",{\"_index\":42,\"name\":{\"44\":{},\"493\":{},\"575\":{},\"668\":{}},\"comment\":{}}],[\"rejected\",{\"_index\":139,\"name\":{\"153\":{}},\"comment\":{}}],[\"remainingtime\",{\"_index\":252,\"name\":{\"474\":{}},\"comment\":{}}],[\"removelisting\",{\"_index\":202,\"name\":{\"309\":{}},\"comment\":{}}],[\"removeloancontract\",{\"_index\":298,\"name\":{\"766\":{},\"799\":{},\"834\":{}},\"comment\":{}}],[\"removewhitelistedcallbackcontract\",{\"_index\":272,\"name\":{\"534\":{},\"613\":{},\"700\":{}},\"comment\":{}}],[\"renegotiationid\",{\"_index\":243,\"name\":{\"448\":{},\"1125\":{}},\"comment\":{}}],[\"renegotiationinput\",{\"_index\":113,\"name\":{\"116\":{}},\"comment\":{}}],[\"renegotiationoffer\",{\"_index\":115,\"name\":{\"118\":{}},\"comment\":{}}],[\"renegotiationofferinput\",{\"_index\":235,\"name\":{\"422\":{}},\"comment\":{}}],[\"renegotiationrequested\",{\"_index\":401,\"name\":{\"1273\":{}},\"comment\":{}}],[\"repayabitypev4\",{\"_index\":413,\"name\":{\"1293\":{}},\"comment\":{}}],[\"repayabitypev5\",{\"_index\":414,\"name\":{\"1294\":{}},\"comment\":{}}],[\"repayabitypev6\",{\"_index\":415,\"name\":{\"1295\":{}},\"comment\":{}}],[\"repayloan\",{\"_index\":28,\"name\":{\"30\":{},\"488\":{},\"554\":{},\"570\":{},\"631\":{},\"663\":{},\"716\":{}},\"comment\":{}}],[\"repayment\",{\"_index\":94,\"name\":{\"96\":{}},\"comment\":{}}],[\"repaymentsignature\",{\"_index\":355,\"name\":{\"1149\":{}},\"comment\":{}}],[\"requesttransferowner\",{\"_index\":291,\"name\":{\"730\":{},\"998\":{}},\"comment\":{}}],[\"requiresliquidation\",{\"_index\":227,\"name\":{\"357\":{},\"380\":{},\"399\":{},\"419\":{},\"432\":{},\"449\":{}},\"comment\":{}}],[\"result\",{\"_index\":359,\"name\":{\"1157\":{},\"1185\":{},\"1230\":{}},\"comment\":{}}],[\"revokedelegate\",{\"_index\":46,\"name\":{\"48\":{},\"498\":{},\"580\":{},\"639\":{},\"673\":{},\"722\":{}},\"comment\":{}}],[\"revokedelegationsandemitloan\",{\"_index\":47,\"name\":{\"49\":{},\"499\":{},\"569\":{},\"662\":{}},\"comment\":{}}],[\"safecontractwrite\",{\"_index\":262,\"name\":{\"508\":{},\"589\":{},\"682\":{},\"754\":{},\"787\":{},\"822\":{},\"861\":{},\"914\":{},\"976\":{},\"1015\":{},\"1030\":{}},\"comment\":{}}],[\"safetransferfrom\",{\"_index\":311,\"name\":{\"871\":{},\"924\":{},\"1036\":{}},\"comment\":{}}],[\"savecollectionoffer\",{\"_index\":160,\"name\":{\"190\":{},\"250\":{}},\"comment\":{}}],[\"savecollectionoffermutation\",{\"_index\":346,\"name\":{\"1073\":{}},\"comment\":{}}],[\"saverefinanceoffer\",{\"_index\":174,\"name\":{\"251\":{}},\"comment\":{}}],[\"saverenegotiationoffer\",{\"_index\":164,\"name\":{\"197\":{}},\"comment\":{}}],[\"saverenegotiationoffermutation\",{\"_index\":350,\"name\":{\"1134\":{}},\"comment\":{}}],[\"savesinglenftoffer\",{\"_index\":162,\"name\":{\"193\":{},\"248\":{}},\"comment\":{}}],[\"savesinglenftoffermutation\",{\"_index\":348,\"name\":{\"1105\":{}},\"comment\":{}}],[\"scalars\",{\"_index\":376,\"name\":{\"1240\":{}},\"comment\":{}}],[\"sell\",{\"_index\":328,\"name\":{\"968\":{},\"994\":{}},\"comment\":{}}],[\"sellandrepay\",{\"_index\":66,\"name\":{\"68\":{}},\"comment\":{}}],[\"setapprovalforall\",{\"_index\":312,\"name\":{\"873\":{},\"926\":{},\"1038\":{}},\"comment\":{}}],[\"setdelegateregistry\",{\"_index\":287,\"name\":{\"645\":{}},\"comment\":{}}],[\"setflashactioncontract\",{\"_index\":288,\"name\":{\"647\":{},\"726\":{}},\"comment\":{}}],[\"setmaxsources\",{\"_index\":281,\"name\":{\"556\":{},\"633\":{}},\"comment\":{}}],[\"setminlockperiod\",{\"_index\":289,\"name\":{\"649\":{},\"728\":{}},\"comment\":{}}],[\"setprotocolfee\",{\"_index\":273,\"name\":{\"536\":{},\"615\":{},\"702\":{},\"982\":{}},\"comment\":{}}],[\"settaxes\",{\"_index\":334,\"name\":{\"1000\":{}},\"comment\":{}}],[\"settimeformainlendertobuy\",{\"_index\":303,\"name\":{\"842\":{}},\"comment\":{}}],[\"settleauction\",{\"_index\":50,\"name\":{\"52\":{},\"746\":{},\"768\":{},\"779\":{},\"801\":{},\"814\":{},\"836\":{}},\"comment\":{}}],[\"settleauctionwithbuyout\",{\"_index\":51,\"name\":{\"53\":{},\"745\":{},\"778\":{},\"813\":{}},\"comment\":{}}],[\"settlewithbuyout\",{\"_index\":304,\"name\":{\"844\":{}},\"comment\":{}}],[\"showoffer\",{\"_index\":183,\"name\":{\"268\":{}},\"comment\":{}}],[\"showorder\",{\"_index\":191,\"name\":{\"290\":{}},\"comment\":{}}],[\"showrenegotiation\",{\"_index\":188,\"name\":{\"279\":{}},\"comment\":{}}],[\"signature\",{\"_index\":233,\"name\":{\"381\":{},\"420\":{},\"450\":{},\"455\":{},\"1150\":{},\"1253\":{}},\"comment\":{}}],[\"signedrenegotiationofferinput\",{\"_index\":242,\"name\":{\"437\":{}},\"comment\":{}}],[\"signeraddress\",{\"_index\":228,\"name\":{\"358\":{},\"382\":{},\"400\":{},\"421\":{},\"433\":{},\"451\":{},\"1063\":{},\"1097\":{},\"1128\":{}},\"comment\":{}}],[\"signoffer\",{\"_index\":257,\"name\":{\"481\":{},\"562\":{},\"655\":{}},\"comment\":{}}],[\"signrenegotiationoffer\",{\"_index\":258,\"name\":{\"482\":{},\"563\":{},\"656\":{}},\"comment\":{}}],[\"singlenftoffer\",{\"_index\":109,\"name\":{\"112\":{}},\"comment\":{}}],[\"singlenftofferinput\",{\"_index\":107,\"name\":{\"110\":{},\"341\":{}},\"comment\":{}}],[\"singlenftsignedofferinput\",{\"_index\":230,\"name\":{\"362\":{}},\"comment\":{}}],[\"sortby\",{\"_index\":119,\"name\":{\"123\":{},\"140\":{}},\"comment\":{}}],[\"starttime\",{\"_index\":356,\"name\":{\"1151\":{},\"1274\":{}},\"comment\":{}}],[\"status\",{\"_index\":95,\"name\":{\"97\":{},\"132\":{},\"1080\":{},\"1112\":{},\"1141\":{}},\"comment\":{}}],[\"statuses\",{\"_index\":130,\"name\":{\"139\":{}},\"comment\":{}}],[\"strictimprovement\",{\"_index\":239,\"name\":{\"434\":{},\"452\":{}},\"comment\":{}}],[\"string\",{\"_index\":377,\"name\":{\"1243\":{}},\"comment\":{}}],[\"taker\",{\"_index\":357,\"name\":{\"1152\":{}},\"comment\":{}}],[\"targetprincipal\",{\"_index\":240,\"name\":{\"435\":{},\"453\":{}},\"comment\":{}}],[\"terms\",{\"_index\":131,\"name\":{\"141\":{}},\"comment\":{}}],[\"termsfilter\",{\"_index\":250,\"name\":{\"466\":{}},\"comment\":{}}],[\"tokenid\",{\"_index\":195,\"name\":{\"294\":{},\"339\":{},\"1103\":{},\"1116\":{},\"1132\":{},\"1153\":{}},\"comment\":{}}],[\"tokenids\",{\"_index\":209,\"name\":{\"321\":{},\"327\":{}},\"comment\":{}}],[\"tokens\",{\"_index\":212,\"name\":{\"328\":{}},\"comment\":{}}],[\"tokenstandardtype\",{\"_index\":102,\"name\":{\"105\":{}},\"comment\":{}}],[\"totalcount\",{\"_index\":370,\"name\":{\"1200\":{}},\"comment\":{}}],[\"totalinterest\",{\"_index\":96,\"name\":{\"98\":{},\"1275\":{}},\"comment\":{}}],[\"trancheindex\",{\"_index\":241,\"name\":{\"436\":{},\"454\":{}},\"comment\":{}}],[\"transferfrom\",{\"_index\":310,\"name\":{\"869\":{},\"922\":{},\"1034\":{}},\"comment\":{}}],[\"transferownership\",{\"_index\":263,\"name\":{\"510\":{},\"591\":{},\"684\":{},\"756\":{},\"789\":{},\"824\":{},\"863\":{},\"916\":{},\"978\":{}},\"comment\":{}}],[\"types\",{\"_index\":106,\"name\":{\"109\":{}},\"comment\":{}}],[\"unhideoffer\",{\"_index\":17,\"name\":{\"19\":{},\"194\":{},\"240\":{}},\"comment\":{}}],[\"unhideoffermutation\",{\"_index\":182,\"name\":{\"265\":{}},\"comment\":{}}],[\"unhideorder\",{\"_index\":23,\"name\":{\"25\":{},\"201\":{},\"246\":{}},\"comment\":{}}],[\"unhideordermutation\",{\"_index\":190,\"name\":{\"287\":{}},\"comment\":{}}],[\"unhiderenegotiationoffer\",{\"_index\":21,\"name\":{\"23\":{},\"198\":{},\"242\":{}},\"comment\":{}}],[\"unhiderenegotiationoffermutation\",{\"_index\":187,\"name\":{\"276\":{}},\"comment\":{}}],[\"unlist\",{\"_index\":32,\"name\":{\"34\":{}},\"comment\":{}}],[\"unlistnft\",{\"_index\":158,\"name\":{\"188\":{},\"232\":{}},\"comment\":{}}],[\"unlistnftmutation\",{\"_index\":201,\"name\":{\"306\":{}},\"comment\":{}}],[\"unsignedcollectionoffer\",{\"_index\":111,\"name\":{\"114\":{}},\"comment\":{}}],[\"unsignedrenegotiationoffer\",{\"_index\":114,\"name\":{\"117\":{}},\"comment\":{}}],[\"unsignedsinglenftoffer\",{\"_index\":108,\"name\":{\"111\":{}},\"comment\":{}}],[\"unwrap\",{\"_index\":338,\"name\":{\"1022\":{},\"1040\":{}},\"comment\":{}}],[\"unwrapbatch\",{\"_index\":339,\"name\":{\"1042\":{}},\"comment\":{}}],[\"unwrapolderc721\",{\"_index\":65,\"name\":{\"67\":{}},\"comment\":{}}],[\"updateimprovementminimum\",{\"_index\":274,\"name\":{\"538\":{},\"617\":{}},\"comment\":{}}],[\"updateliquidationauctionduration\",{\"_index\":275,\"name\":{\"540\":{},\"619\":{},\"704\":{}},\"comment\":{}}],[\"updateliquidationcontract\",{\"_index\":276,\"name\":{\"542\":{},\"621\":{},\"706\":{}},\"comment\":{}}],[\"updateliquidationdistributor\",{\"_index\":301,\"name\":{\"805\":{},\"840\":{}},\"comment\":{}}],[\"updateminimprovementapr\",{\"_index\":292,\"name\":{\"732\":{}},\"comment\":{}}],[\"updatemultisourceloanaddressfirst\",{\"_index\":333,\"name\":{\"996\":{}},\"comment\":{}}],[\"updateprotocolfee\",{\"_index\":277,\"name\":{\"544\":{},\"623\":{},\"708\":{},\"984\":{}},\"comment\":{}}],[\"updatetaxes\",{\"_index\":335,\"name\":{\"1002\":{}},\"comment\":{}}],[\"updatetriggerfee\",{\"_index\":299,\"name\":{\"770\":{},\"803\":{},\"838\":{}},\"comment\":{}}],[\"user\",{\"_index\":135,\"name\":{\"147\":{}},\"comment\":{}}],[\"userfilter\",{\"_index\":253,\"name\":{\"475\":{}},\"comment\":{}}],[\"userid\",{\"_index\":255,\"name\":{\"478\":{}},\"comment\":{}}],[\"uservault\",{\"_index\":10,\"name\":{\"12\":{},\"176\":{}},\"comment\":{}}],[\"uservaultabi\",{\"_index\":408,\"name\":{\"1286\":{},\"1287\":{}},\"comment\":{}}],[\"uservaultv5\",{\"_index\":151,\"name\":{\"171\":{},\"848\":{}},\"comment\":{}}],[\"uservaultv6\",{\"_index\":152,\"name\":{\"172\":{},\"901\":{}},\"comment\":{}}],[\"validator\",{\"_index\":179,\"name\":{\"260\":{}},\"comment\":{}}],[\"validators\",{\"_index\":345,\"name\":{\"1065\":{},\"1099\":{}},\"comment\":{}}],[\"vaultid\",{\"_index\":208,\"name\":{\"319\":{},\"325\":{}},\"comment\":{}}],[\"void\",{\"_index\":386,\"name\":{\"1254\":{}},\"comment\":{}}],[\"wallet\",{\"_index\":3,\"name\":{\"3\":{},\"156\":{},\"505\":{},\"586\":{},\"679\":{},\"751\":{},\"784\":{},\"819\":{},\"858\":{},\"911\":{},\"973\":{},\"1012\":{},\"1027\":{},\"1053\":{},\"1292\":{}},\"comment\":{}}],[\"walletclient\",{\"_index\":144,\"name\":{\"163\":{}},\"comment\":{}}],[\"withdrawerc1155\",{\"_index\":324,\"name\":{\"956\":{}},\"comment\":{}}],[\"withdrawerc1155s\",{\"_index\":325,\"name\":{\"958\":{}},\"comment\":{}}],[\"withdrawerc20\",{\"_index\":318,\"name\":{\"889\":{},\"942\":{}},\"comment\":{}}],[\"withdrawerc20s\",{\"_index\":319,\"name\":{\"891\":{},\"944\":{}},\"comment\":{}}],[\"withdrawerc721\",{\"_index\":320,\"name\":{\"893\":{},\"946\":{}},\"comment\":{}}],[\"withdrawerc721s\",{\"_index\":321,\"name\":{\"895\":{},\"948\":{}},\"comment\":{}}],[\"withdraweth\",{\"_index\":322,\"name\":{\"897\":{},\"950\":{}},\"comment\":{}}],[\"wrap\",{\"_index\":340,\"name\":{\"1044\":{}},\"comment\":{}}],[\"wrapbatch\",{\"_index\":341,\"name\":{\"1046\":{}},\"comment\":{}}],[\"wrapolderc721\",{\"_index\":64,\"name\":{\"66\":{},\"1021\":{}},\"comment\":{}}],[\"wrapolderc721args\",{\"_index\":215,\"name\":{\"331\":{}},\"comment\":{}}],[\"wrappercollections\",{\"_index\":218,\"name\":{\"338\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/0.15.0b2/assets/style.css b/docs/0.15.0b2/assets/style.css new file mode 100644 index 00000000..18b4f8fe --- /dev/null +++ b/docs/0.15.0b2/assets/style.css @@ -0,0 +1,1367 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/0.15.0b2/classes/Gondi.html b/docs/0.15.0b2/classes/Gondi.html new file mode 100644 index 00000000..c829dcc1 --- /dev/null +++ b/docs/0.15.0b2/classes/Gondi.html @@ -0,0 +1,1250 @@ +Gondi | Gondi JS SDK - v0.15.0b2
+
+ +
+
+
+
+ +

Class Gondi

+
+

Hierarchy

+
    +
  • Gondi
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        aprBps: bigint;
        borrowerAddress: `0x${string}`;
        capacity: bigint;
        contractAddress: `0x${string}`;
        duration: bigint;
        expirationTime: bigint;
        fee: bigint;
        lenderAddress: `0x${string}`;
        maxSeniorRepayment?: InputMaybe<bigint>;
        maxTrancheFloor?: InputMaybe<bigint>;
        nftId: number;
        offerHash: `0x${string}`;
        offerId: bigint;
        offerValidators: OfferValidatorInput[];
        principalAddress: `0x${string}`;
        principalAmount: bigint;
        requiresLiquidation?: InputMaybe<boolean>;
        signature: `0x${string}`;
        signerAddress?: InputMaybe<`0x${string}`>;
        id: string;
        nftCollateralAddress: `0x${string}`;
        nftCollateralTokenId: bigint;
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        aprBps: bigint;
        borrowerAddress: `0x${string}`;
        capacity: bigint;
        collectionId: number;
        contractAddress: `0x${string}`;
        duration: bigint;
        expirationTime: bigint;
        fee: bigint;
        lenderAddress: `0x${string}`;
        maxSeniorRepayment?: InputMaybe<bigint>;
        maxTrancheFloor?: InputMaybe<bigint>;
        offerHash: `0x${string}`;
        offerId: bigint;
        offerValidators: OfferValidatorInput[];
        principalAddress: `0x${string}`;
        principalAmount: bigint;
        requiresLiquidation?: InputMaybe<boolean>;
        signature: `0x${string}`;
        signerAddress?: InputMaybe<`0x${string}`>;
        id: string;
        nftCollateralAddress: `0x${string}`;
        nftCollateralTokenId: bigint;
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          collectionContractAddress: `0x${string}`;
          tokenId: bigint;
          price: bigint;
          expirationTime: bigint;
          currencyAddress: `0x${string}`;
          isAsk?: boolean;
          taker?: `0x${string}`;
      }
      +
        +
      • +
        collectionContractAddress: `0x${string}`
      • +
      • +
        tokenId: bigint
      • +
      • +
        price: bigint
      • +
      • +
        expirationTime: bigint
      • +
      • +
        currencyAddress: `0x${string}`
      • +
      • +
        Optional isAsk?: boolean
      • +
      • +
        Optional taker?: `0x${string}`
    +

    Returns Promise<{
        amount: bigint;
        contractAddress: `0x${string}`;
        currencyAddress: `0x${string}`;
        expirationTime: bigint;
        isAsk: boolean;
        repaymentSignature?: InputMaybe<`0x${string}`>;
        signature: InputMaybe<`0x${string}`>;
        startTime: bigint;
        taker?: InputMaybe<`0x${string}`>;
        tokenId: bigint;
        __typename?: "SingleNFTOrder";
        id: string;
        status: string;
        repaymentCalldata: `0x${string}`;
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          id: bigint;
          contractAddress: `0x${string}`;
      }
      +
        +
      • +
        id: bigint
      • +
      • +
        contractAddress: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            lender: `0x${string}`;
            offerId: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          minId: bigint;
          contractAddress: `0x${string}`;
      }
      +
        +
      • +
        minId: bigint
      • +
      • +
        contractAddress: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            lender: `0x${string}`;
            minOfferId: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          id: bigint;
          contractAddress: `0x${string}`;
      }
      +
        +
      • +
        id: bigint
      • +
      • +
        contractAddress: `0x${string}`
    +

    Returns Promise<HideOfferMutation>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          id: bigint;
          contractAddress: `0x${string}`;
      }
      +
        +
      • +
        id: bigint
      • +
      • +
        contractAddress: `0x${string}`
    +

    Returns Promise<UnhideOfferMutation>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          renegotiation: RenegotiationInput;
          contractAddress: `0x${string}`;
          skipSignature?: boolean;
      }
      +
        +
      • +
        renegotiation: RenegotiationInput
      • +
      • +
        contractAddress: `0x${string}`
      • +
      • +
        Optional skipSignature?: boolean
    +

    Returns Promise<{
        loanId: string;
        duration: bigint;
        principalAmount: bigint;
        renegotiationId: bigint;
        requiresLiquidation?: InputMaybe<boolean>;
        aprBps: bigint;
        expirationTime: bigint;
        targetPrincipal?: InputMaybe<bigint[]>;
        strictImprovement?: InputMaybe<boolean>;
        trancheIndex?: InputMaybe<bigint[]>;
        lenderAddress: `0x${string}`;
        signerAddress?: InputMaybe<`0x${string}`>;
        offerHash: `0x${string}`;
        feeAmount: bigint;
        isAddNewTranche?: InputMaybe<boolean>;
        signature: `0x${string}`;
        id: string;
    } | {
        offerHash: `0x${string}`;
        signature: `0x${string}`;
        renegotiationId: bigint;
        targetPrincipal: bigint[];
        trancheIndex: bigint[];
        lenderAddress: `0x${string}`;
        signerAddress: InputMaybe<`0x${string}`>;
        loanId: string;
        duration: bigint;
        principalAmount: bigint;
        requiresLiquidation?: InputMaybe<boolean>;
        aprBps: bigint;
        expirationTime: bigint;
        strictImprovement?: InputMaybe<boolean>;
        feeAmount: bigint;
        isAddNewTranche?: InputMaybe<boolean>;
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          id: bigint;
          contractAddress: `0x${string}`;
      }
      +
        +
      • +
        id: bigint
      • +
      • +
        contractAddress: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            lender: `0x${string}`;
            renegotiationId: bigint;
        }>);
    }>

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          minId: bigint;
          contractAddress: `0x${string}`;
      }
      +
        +
      • +
        minId: bigint
      • +
      • +
        contractAddress: `0x${string}`
    +

    Returns Promise<void | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            lender: `0x${string}`;
            minRenegotiationId: bigint;
        }>);
    }>

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                source: readonly {
                    loanId: bigint;
                    lender: `0x${string}`;
                    principalAmount: bigint;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                id: string;
            };
            loanId: bigint;
            offerId: string;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                tranche: readonly {
                    loanId: bigint;
                    floor: bigint;
                    principalAmount: bigint;
                    lender: `0x${string}`;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                protocolFee: bigint;
                id: string;
            };
            loanId: bigint;
            offerIds: string[];
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                tranche: readonly {
                    loanId: bigint;
                    floor: bigint;
                    principalAmount: bigint;
                    lender: `0x${string}`;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                protocolFee: bigint;
                id: string;
            };
            loanId: bigint;
            offerIds: string[];
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          loan: LoanToMslLoanType;
          loanId: bigint;
          nftReceiver?: `0x${string}`;
      }
      +
        +
      • +
        loan: LoanToMslLoanType
      • +
      • +
        loanId: bigint
      • +
      • +
        Optional nftReceiver?: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanId: bigint;
            totalRepayment: bigint;
            fee: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        offers: ({
            type: undefined | "CollectionOffer" | "SingleNFTOffer";
            lender: undefined | null | `0x${string}`;
            borrower: undefined | null | `0x${string}`;
            signer: undefined | null | `0x${string}`;
            offerValidators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[] | {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
            nftCollateralAddress: `0x${string}`;
            nftCollateralTokenId: bigint;
            id: string;
            offerId: bigint;
            lenderAddress?: null | `0x${string}`;
            borrowerAddress?: null | `0x${string}`;
            signerAddress?: null | `0x${string}`;
            contractAddress: `0x${string}`;
            requiresLiquidation?: null | boolean;
            principalAddress: `0x${string}`;
            principalAmount: bigint;
            aprBps: bigint;
            fee: bigint;
            capacity: bigint;
            expirationTime: bigint;
            duration: bigint;
            status: string;
            offerHash?: null | `0x${string}`;
            signature?: null | `0x${string}`;
            createdDate?: null | Date;
            repayment: bigint;
            hidden?: null | boolean;
            maxSeniorRepayment: bigint;
            collection: {
                __typename?: "Collection";
                id: string;
                slug: string;
                contractData: {
                    __typename?: "ContractData";
                    contractAddress: `0x${string}`;
                };
            };
            currency: {
                __typename?: "Currency";
                symbol: string;
                decimals: number;
                address: `0x${string}`;
            };
            validators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
        } | {
            type: undefined | "CollectionOffer" | "SingleNFTOffer";
            lender: undefined | null | `0x${string}`;
            borrower: undefined | null | `0x${string}`;
            signer: undefined | null | `0x${string}`;
            offerValidators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[] | {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
            nftCollateralAddress: `0x${string}`;
            nftCollateralTokenId: bigint;
            id: string;
            offerId: bigint;
            lenderAddress?: null | `0x${string}`;
            borrowerAddress?: null | `0x${string}`;
            signerAddress?: null | `0x${string}`;
            contractAddress: `0x${string}`;
            requiresLiquidation?: null | boolean;
            principalAddress: `0x${string}`;
            principalAmount: bigint;
            aprBps: bigint;
            fee: bigint;
            capacity: bigint;
            expirationTime: bigint;
            duration: bigint;
            status: string;
            offerHash?: null | `0x${string}`;
            signature?: null | `0x${string}`;
            createdDate?: null | Date;
            repayment: bigint;
            hidden?: null | boolean;
            maxSeniorRepayment: bigint;
            nft: {
                __typename?: "NFT";
                id: string;
                tokenId: bigint;
                collection?: null | {
                    __typename?: "Collection";
                    id: string;
                    slug: string;
                    contractData: {
                        __typename?: "ContractData";
                        contractAddress: `0x${string}`;
                    };
                };
            };
            currency: {
                __typename?: "Currency";
                symbol: string;
                decimals: number;
                address: `0x${string}`;
            };
            validators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
        })[];
        hasNextPage: true;
        cursor: string;
    } | {
        offers: ({
            type: undefined | "CollectionOffer" | "SingleNFTOffer";
            lender: undefined | null | `0x${string}`;
            borrower: undefined | null | `0x${string}`;
            signer: undefined | null | `0x${string}`;
            offerValidators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[] | {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
            nftCollateralAddress: `0x${string}`;
            nftCollateralTokenId: bigint;
            id: string;
            offerId: bigint;
            lenderAddress?: null | `0x${string}`;
            borrowerAddress?: null | `0x${string}`;
            signerAddress?: null | `0x${string}`;
            contractAddress: `0x${string}`;
            requiresLiquidation?: null | boolean;
            principalAddress: `0x${string}`;
            principalAmount: bigint;
            aprBps: bigint;
            fee: bigint;
            capacity: bigint;
            expirationTime: bigint;
            duration: bigint;
            status: string;
            offerHash?: null | `0x${string}`;
            signature?: null | `0x${string}`;
            createdDate?: null | Date;
            repayment: bigint;
            hidden?: null | boolean;
            maxSeniorRepayment: bigint;
            collection: {
                __typename?: "Collection";
                id: string;
                slug: string;
                contractData: {
                    __typename?: "ContractData";
                    contractAddress: `0x${string}`;
                };
            };
            currency: {
                __typename?: "Currency";
                symbol: string;
                decimals: number;
                address: `0x${string}`;
            };
            validators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
        } | {
            type: undefined | "CollectionOffer" | "SingleNFTOffer";
            lender: undefined | null | `0x${string}`;
            borrower: undefined | null | `0x${string}`;
            signer: undefined | null | `0x${string}`;
            offerValidators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[] | {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
            nftCollateralAddress: `0x${string}`;
            nftCollateralTokenId: bigint;
            id: string;
            offerId: bigint;
            lenderAddress?: null | `0x${string}`;
            borrowerAddress?: null | `0x${string}`;
            signerAddress?: null | `0x${string}`;
            contractAddress: `0x${string}`;
            requiresLiquidation?: null | boolean;
            principalAddress: `0x${string}`;
            principalAmount: bigint;
            aprBps: bigint;
            fee: bigint;
            capacity: bigint;
            expirationTime: bigint;
            duration: bigint;
            status: string;
            offerHash?: null | `0x${string}`;
            signature?: null | `0x${string}`;
            createdDate?: null | Date;
            repayment: bigint;
            hidden?: null | boolean;
            maxSeniorRepayment: bigint;
            nft: {
                __typename?: "NFT";
                id: string;
                tokenId: bigint;
                collection?: null | {
                    __typename?: "Collection";
                    id: string;
                    slug: string;
                    contractData: {
                        __typename?: "ContractData";
                        contractAddress: `0x${string}`;
                    };
                };
            };
            currency: {
                __typename?: "Currency";
                symbol: string;
                decimals: number;
                address: `0x${string}`;
            };
            validators: {
                __typename?: "OfferValidator";
                arguments: `0x${string}`;
                validator: `0x${string}`;
            }[];
        })[];
        hasNextPage: false;
        cursor: null;
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        loans: {
            type: undefined | "MultiSourceLoan";
            contractAddress: `0x${string}`;
            nftCollateralTokenId: bigint;
            nftCollateralAddress: undefined | `0x${string}`;
            borrower: `0x${string}`;
            startTime: bigint;
            source: {
                lender: `0x${string}`;
                loanId: bigint;
                startTime: bigint;
                __typename?: "Source";
                id: string;
                originationFee: bigint;
                principalAmount: bigint;
                lenderAddress: string;
                accruedInterest: bigint;
                aprBps: bigint;
            }[];
            id: string;
            address: `0x${string}`;
            loanId: number;
            timestamp: Date;
            txHash: `0x${string}`;
            indexInBlock: number;
            borrowerAddress: `0x${string}`;
            principalAddress: `0x${string}`;
            duration: bigint;
            status: string;
            principalAmount: bigint;
            blendedAprBps: number;
            totalOriginationFee: bigint;
            protocolFee: bigint;
            offer: {
                __typename?: "CollectionOffer";
                offerId: bigint;
                signerAddress?: null | `0x${string}`;
            } | {
                __typename?: "SingleNFTOffer";
                offerId: bigint;
                signerAddress?: null | `0x${string}`;
            };
            currency: {
                __typename?: "Currency";
                symbol: string;
                decimals: number;
                address: `0x${string}`;
            };
            repaidActivity?: null | {
                __typename?: "LoanRepaid";
                totalInterest: bigint;
                timestamp: Date;
            };
            nft: {
                __typename?: "NFT";
                id: string;
                name?: null | string;
                tokenId: bigint;
                nftId: string;
                owner?: null | `0x${string}`;
                image?: null | {
                    __typename?: "Asset";
                    data: string;
                    cacheUrl?: null | string;
                    contentTypeMime: string;
                    accessTypeName: string;
                };
                collection?: null | {
                    __typename?: "Collection";
                    id: string;
                    slug: string;
                    name?: null | string;
                    nftsCount?: null | number;
                    contractData: {
                        __typename?: "ContractData";
                        contractAddress: `0x${string}`;
                    };
                };
            };
            sources: {
                __typename?: "Source";
                id: string;
                loanId: string;
                originationFee: bigint;
                principalAmount: bigint;
                lenderAddress: string;
                accruedInterest: bigint;
                aprBps: bigint;
                startTime: Date;
            }[];
        }[];
        hasNextPage: true;
        cursor: string;
    } | {
        loans: {
            type: undefined | "MultiSourceLoan";
            contractAddress: `0x${string}`;
            nftCollateralTokenId: bigint;
            nftCollateralAddress: undefined | `0x${string}`;
            borrower: `0x${string}`;
            startTime: bigint;
            source: {
                lender: `0x${string}`;
                loanId: bigint;
                startTime: bigint;
                __typename?: "Source";
                id: string;
                originationFee: bigint;
                principalAmount: bigint;
                lenderAddress: string;
                accruedInterest: bigint;
                aprBps: bigint;
            }[];
            id: string;
            address: `0x${string}`;
            loanId: number;
            timestamp: Date;
            txHash: `0x${string}`;
            indexInBlock: number;
            borrowerAddress: `0x${string}`;
            principalAddress: `0x${string}`;
            duration: bigint;
            status: string;
            principalAmount: bigint;
            blendedAprBps: number;
            totalOriginationFee: bigint;
            protocolFee: bigint;
            offer: {
                __typename?: "CollectionOffer";
                offerId: bigint;
                signerAddress?: null | `0x${string}`;
            } | {
                __typename?: "SingleNFTOffer";
                offerId: bigint;
                signerAddress?: null | `0x${string}`;
            };
            currency: {
                __typename?: "Currency";
                symbol: string;
                decimals: number;
                address: `0x${string}`;
            };
            repaidActivity?: null | {
                __typename?: "LoanRepaid";
                totalInterest: bigint;
                timestamp: Date;
            };
            nft: {
                __typename?: "NFT";
                id: string;
                name?: null | string;
                tokenId: bigint;
                nftId: string;
                owner?: null | `0x${string}`;
                image?: null | {
                    __typename?: "Asset";
                    data: string;
                    cacheUrl?: null | string;
                    contentTypeMime: string;
                    accessTypeName: string;
                };
                collection?: null | {
                    __typename?: "Collection";
                    id: string;
                    slug: string;
                    name?: null | string;
                    nftsCount?: null | number;
                    contractData: {
                        __typename?: "ContractData";
                        contractAddress: `0x${string}`;
                    };
                };
            };
            sources: {
                __typename?: "Source";
                id: string;
                loanId: string;
                originationFee: bigint;
                principalAmount: bigint;
                lenderAddress: string;
                accruedInterest: bigint;
                aprBps: bigint;
                startTime: Date;
            }[];
        }[];
        hasNextPage: false;
        cursor: null;
    }>

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        listings: {
            __typename?: "Listing";
            id: string;
            marketplaceName: MarketplaceEnum;
            createdDate: Date;
            desiredDuration?: null | number;
            desiredPrincipalAddress?: null | `0x${string}`;
            user: {
                __typename?: "User";
                walletAddress: `0x${string}`;
            };
            nft: {
                __typename?: "NFT";
                id: string;
                tokenId: bigint;
                collection?: null | {
                    __typename?: "Collection";
                    id: string;
                    slug: string;
                    contractData: {
                        __typename?: "ContractData";
                        contractAddress: `0x${string}`;
                    };
                };
            };
        }[];
        hasNextPage: true;
        cursor: string;
    } | {
        listings: {
            __typename?: "Listing";
            id: string;
            marketplaceName: MarketplaceEnum;
            createdDate: Date;
            desiredDuration?: null | number;
            desiredPrincipalAddress?: null | `0x${string}`;
            user: {
                __typename?: "User";
                walletAddress: `0x${string}`;
            };
            nft: {
                __typename?: "NFT";
                id: string;
                tokenId: bigint;
                collection?: null | {
                    __typename?: "Collection";
                    id: string;
                    slug: string;
                    contractData: {
                        __typename?: "ContractData";
                        contractAddress: `0x${string}`;
                    };
                };
            };
        }[];
        hasNextPage: false;
        cursor: null;
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      props: Object
    +

    Returns Promise<number>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      props: {
          statsCurrency?: `0x${string}`;
          standards?: TokenStandardType[];
          collections?: number[];
      }
      +
        +
      • +
        Optional statsCurrency?: `0x${string}`
      • +
      • +
        Optional standards?: TokenStandardType[]
      • +
      • +
        Optional collections?: number[]
    +

    Returns Promise<{
        collections: {
            __typename?: "Collection";
            id: string;
            name?: null | string;
            slug: string;
            description?: null | string;
            discordUrl?: null | string;
            twitterUsername?: null | string;
            externalUrl?: null | string;
            collectionUrl?: null | string;
            verified: boolean;
            wrapperCollections: {
                __typename?: "Collection";
                contractData: {
                    __typename?: "ContractData";
                    contractAddress: `0x${string}`;
                };
            }[];
            image?: null | {
                __typename?: "Asset";
                cacheUrl?: null | string;
            };
            bannerImage?: null | {
                __typename?: "Asset";
                cacheUrl?: null | string;
            };
            contractData: {
                __typename?: "ContractData";
                blockchain: string;
                contractAddress: `0x${string}`;
                createdDate: Date;
                creatorAddress?: null | `0x${string}`;
            };
            statistics: {
                __typename?: "CollectionStatistics";
                floorPrice7d?: null | number;
                floorPrice30d?: null | number;
                totalVolume?: null | number;
                totalVolume1y?: null | number;
                totalVolume3m?: null | number;
                totalVolume1m?: null | number;
                totalVolume1w?: null | number;
                totalLoanVolume: bigint;
                totalLoanVolume1w: bigint;
                totalLoanVolume1m: bigint;
                totalLoanVolume3m: bigint;
                totalLoanVolume1y: bigint;
                numberOfPricedNfts: number;
                nftsCount?: null | number;
                percentageInOutstandingLoans: number;
                repaymentRate: number;
                numberOfOffers: number;
                floorPrice?: null | {
                    __typename?: "CurrencyAmount";
                    amount: number;
                    currency: {
                        __typename?: "Currency";
                        address: `0x${string}`;
                        decimals: number;
                    };
                };
                bestOffer?: null | {
                    __typename?: "CurrencyAmount";
                    amount: number;
                    currency: {
                        __typename?: "Currency";
                        address: `0x${string}`;
                        decimals: number;
                    };
                };
            };
        }[];
        pageInfo: {
            __typename?: "PageInfo";
            endCursor?: null | string;
            hasNextPage: boolean;
        };
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      props: {
          slug: string;
          contractAddress?: undefined;
      }
      +
        +
      • +
        slug: string
      • +
      • +
        Optional contractAddress?: undefined
    +

    Returns Promise<number>

  • + +
  • +
    +

    Parameters

    +
      +
    • +
      props: {
          slug?: undefined;
          contractAddress: `0x${string}`;
      }
      +
        +
      • +
        Optional slug?: undefined
      • +
      • +
        contractAddress: `0x${string}`
    +

    Returns Promise<number[]>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        ownedNfts: {
            __typename?: "NFT";
            id: string;
            tokenId: bigint;
            price?: null | bigint;
            priceCurrencyAddress?: null | string;
            collection?: null | {
                __typename?: "Collection";
                id: string;
                contractData: {
                    __typename?: "ContractData";
                    contractAddress: `0x${string}`;
                };
                wrapperCollections: {
                    __typename?: "Collection";
                    contractData: {
                        __typename?: "ContractData";
                        contractAddress: `0x${string}`;
                    };
                }[];
            };
            activeLoan?: null | {
                __typename?: "MultiSourceLoan";
                id: string;
            };
            statistics: {
                __typename?: "NftStatistics";
                lastSale?: null | {
                    __typename?: "Sale";
                    order: {
                        __typename?: "CollectionOrder";
                        price: bigint;
                        currency: {
                            __typename?: "Currency";
                            address: `0x${string}`;
                            decimals: number;
                        };
                    } | {
                        __typename?: "SingleNFTOrder";
                        price: bigint;
                        currency: {
                            __typename?: "Currency";
                            address: `0x${string}`;
                            decimals: number;
                        };
                    };
                };
                topTraitFloorPrice?: null | {
                    __typename?: "CurrencyAmount";
                    amount: number;
                    currency: {
                        __typename?: "Currency";
                        address: `0x${string}`;
                        decimals: number;
                    };
                };
            };
        }[];
        pageInfo: {
            __typename?: "PageInfo";
            endCursor?: null | string;
            hasNextPage: boolean;
        };
    }>

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          aprBpsImprovementPercentage: number;
          refinancings: {
              loan: Object;
              source: {
                  loanId: bigint;
                  floor: bigint;
                  principalAmount: bigint;
                  lender: `0x${string}`;
                  accruedInterest: bigint;
                  startTime: bigint;
                  aprBps: bigint;
              } & {
                  loanIndex: number;
              };
              refinancingPrincipal: bigint;
          }[];
      }
      +
        +
      • +
        aprBpsImprovementPercentage: number
      • +
      • +
        refinancings: {
            loan: Object;
            source: {
                loanId: bigint;
                floor: bigint;
                principalAmount: bigint;
                lender: `0x${string}`;
                accruedInterest: bigint;
                startTime: bigint;
                aprBps: bigint;
            } & {
                loanIndex: number;
            };
            refinancingPrincipal: bigint;
        }[]
    +

    Returns Promise<({
        status: "fulfilled";
        value: {
            txHash: `0x${string}`;
            waitTxInBlock: (() => Promise<{
                results: {
                    renegotiationId: bigint;
                    oldLoanId: bigint;
                    newLoanId: bigint;
                    loan: {
                        borrower: `0x${string}`;
                        nftCollateralTokenId: bigint;
                        nftCollateralAddress: `0x${string}`;
                        principalAddress: `0x${string}`;
                        principalAmount: bigint;
                        startTime: bigint;
                        duration: bigint;
                        source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                    };
                    fee: bigint;
                }[];
            }>);
        } | {
            txHash: `0x${string}`;
            waitTxInBlock: (() => Promise<{
                results: {
                    renegotiationId: bigint;
                    oldLoanId: bigint;
                    newLoanId: bigint;
                    loan: {
                        borrower: `0x${string}`;
                        nftCollateralTokenId: bigint;
                        nftCollateralAddress: `0x${string}`;
                        principalAddress: `0x${string}`;
                        principalAmount: bigint;
                        startTime: bigint;
                        duration: bigint;
                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                        protocolFee: bigint;
                    };
                    fee: bigint;
                }[];
            }>);
        };
        reason: undefined;
    } | {
        status: "rejected";
        reason: unknown;
        value: any[];
    })[]>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                tranche: readonly {
                    loanId: bigint;
                    floor: bigint;
                    principalAmount: bigint;
                    lender: `0x${string}`;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                protocolFee: bigint;
                id: string;
            };
            loanId: bigint;
            renegotiationId: string;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                source: readonly {
                    loanId: bigint;
                    lender: `0x${string}`;
                    principalAmount: bigint;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                id: string;
            };
            loanId: bigint;
            renegotiationId: string;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                tranche: readonly {
                    loanId: bigint;
                    floor: bigint;
                    principalAmount: bigint;
                    lender: `0x${string}`;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                protocolFee: bigint;
                id: string;
            };
            loanId: bigint;
            renegotiationId: string;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                source: readonly {
                    loanId: bigint;
                    lender: `0x${string}`;
                    principalAmount: bigint;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                id: string;
            };
            loanId: bigint;
            renegotiationId: string;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                tranche: readonly {
                    loanId: bigint;
                    floor: bigint;
                    principalAmount: bigint;
                    lender: `0x${string}`;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                protocolFee: bigint;
                id: string;
            };
            loanId: bigint;
            renegotiationId: string;
        }>);
    }>

+
+ +
    + +
  • +

    Delegate Multicall should be used when token is used as collateral for an active loan. +Multicall will be performed to the contract address of the first delegation.

    +
    +
    +

    Parameters

    +
      +
    • +
      delegations: {
          loan: LoanToMslLoanType;
          loanId: bigint;
          to: `0x${string}`;
          enable: boolean;
          rights?: `0x${string}`;
      }[]
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            results: {
                loanId: bigint;
                delegate: `0x${string}`;
                value: boolean;
            }[];
        }>);
    }>

    +
+
+ +
    + +
  • +

    Delegate should be used when token is used as collateral for an active loan.

    +
    +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          loan: LoanToMslLoanType;
          loanId: bigint;
          to: `0x${string}`;
          enable: boolean;
          rights?: `0x${string}`;
      }
      +
        +
      • +
        loan: LoanToMslLoanType
      • +
      • +
        loanId: bigint
      • +
      • +
        to: `0x${string}`
      • +
      • +
        enable: boolean
      • +
      • +
        Optional rights?: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                loanId: bigint;
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint | bigint & Date;
                duration: bigint;
                tranche: readonly {
                    loanId: bigint;
                    floor: bigint;
                    principalAmount: bigint;
                    lender: `0x${string}`;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                protocolFee: bigint;
                contractStartTime: bigint | Date;
            };
            value: boolean;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loan: {
                loanId: bigint;
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint | bigint & Date;
                duration: bigint;
                source: readonly {
                    loanId: bigint;
                    lender: `0x${string}`;
                    principalAmount: bigint;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
            };
            value: boolean;
        }>);
    }>

    +
+
+ +
    + +
  • +

    RevokeDelegate should be used when token is not being used as collateral.

    +
    +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          to: `0x${string}`;
          collection: `0x${string}`;
          tokenId: bigint;
          contract?: `0x${string}`;
      }
      +
        +
      • +
        to: `0x${string}`
      • +
      • +
        collection: `0x${string}`
      • +
      • +
        tokenId: bigint
      • +
      • +
        Optional contract?: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            delegate: `0x${string}`;
            collection: `0x${string}`;
            tokenId: bigint;
        }>);
    }>

    +
+
+ +
    + +
  • +

    RevokeDelegationsAndEmitLoan should be used when token has been delegated without being revoked, +and a new loan wants to be emitted, erasing the delegations provided as argument.

    +
    +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          delegations: `0x${string}`[];
          emit: EmitLoanArgs;
      }
      +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            results: ({
                loanId: bigint;
                offerId: bigint;
                loan: {
                    borrower: `0x${string}`;
                    nftCollateralTokenId: bigint;
                    nftCollateralAddress: `0x${string}`;
                    principalAddress: `0x${string}`;
                    principalAmount: bigint;
                    startTime: bigint;
                    duration: bigint;
                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                };
                lender: `0x${string}`;
                borrower: `0x${string}`;
                fee: bigint;
            } | {
                delegate: `0x${string}`;
                collection: `0x${string}`;
                tokenId: bigint;
            })[];
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                source: readonly {
                    loanId: bigint;
                    lender: `0x${string}`;
                    principalAmount: bigint;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                id: string;
            };
            loanId: bigint;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            results: ({
                loanId: bigint;
                offerId: readonly bigint[];
                loan: {
                    borrower: `0x${string}`;
                    nftCollateralTokenId: bigint;
                    nftCollateralAddress: `0x${string}`;
                    principalAddress: `0x${string}`;
                    principalAmount: bigint;
                    startTime: bigint;
                    duration: bigint;
                    tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                    protocolFee: bigint;
                };
                fee: bigint;
            } | {
                delegate: `0x${string}`;
                collection: `0x${string}`;
                tokenId: bigint;
            })[];
            loan: {
                contractAddress: `0x${string}`;
                borrower: `0x${string}`;
                nftCollateralTokenId: bigint;
                nftCollateralAddress: `0x${string}`;
                principalAddress: `0x${string}`;
                principalAmount: bigint;
                startTime: bigint;
                duration: bigint;
                tranche: readonly {
                    loanId: bigint;
                    floor: bigint;
                    principalAmount: bigint;
                    lender: `0x${string}`;
                    accruedInterest: bigint;
                    startTime: bigint;
                    aprBps: bigint;
                }[];
                protocolFee: bigint;
                id: string;
            };
            loanId: bigint;
        }>);
    }>

    +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanId: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          collectionContractAddress: `0x${string}`;
          tokenId: bigint;
          bid: bigint;
          auction: Auction;
      }
      +
        +
      • +
        collectionContractAddress: `0x${string}`
      • +
      • +
        tokenId: bigint
      • +
      • +
        bid: bigint
      • +
      • +
        auction: Auction
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            auctionContract: `0x${string}`;
            tokenId: bigint;
            newBidder: `0x${string}`;
            bid: bigint;
            loanAddress: `0x${string}`;
            loanId: bigint;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            collection: `0x${string}`;
            tokenId: bigint;
            newBidder: `0x${string}`;
            bid: bigint;
            loanAddress: `0x${string}`;
            loanId: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanContract: `0x${string}`;
            loanId: bigint;
            auctionContract: `0x${string}`;
            tokenId: bigint;
            asset: `0x${string}`;
            proceeds: bigint;
            settler: `0x${string}`;
            triggerFee: bigint;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanContract: `0x${string}`;
            loanId: bigint;
            auctionContract: `0x${string}`;
            tokenId: bigint;
            asset: `0x${string}`;
            highestBid: bigint;
            settler: `0x${string}`;
            triggerFee: bigint;
        }>);
    } | {
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanContract: `0x${string}`;
            loanId: bigint;
            collection: `0x${string}`;
            tokenId: bigint;
            asset: `0x${string}`;
            proceeds: bigint;
            settler: `0x${string}`;
            triggerFee: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            loanAddress: `0x${string}`;
            loanId: bigint;
            nftAddress: `0x${string}`;
            tokenId: bigint;
            largestTrancheIdx: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          auction: Auction;
      }
      +
    +

    Returns Promise<number>

+
+ +
    + +
  • +

    Get the owner of an ERC 721 token.

    +
    +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          nftAddress: `0x${string}`;
          tokenId: bigint;
      }
      +
        +
      • +
        nftAddress: `0x${string}`
      • +
      • +
        tokenId: bigint
    +

    Returns Promise<`0x${string}`>

    +
+
+ +
    + +
  • +

    Get the balance of an ERC 1155 token id.

    +
    +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          nftAddress: `0x${string}`;
          tokenId: bigint;
      }
      +
        +
      • +
        nftAddress: `0x${string}`
      • +
      • +
        tokenId: bigint
    +

    Returns Promise<bigint>

    +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          nftAddress: `0x${string}`;
          standard: NftStandard;
          to?: `0x${string}`;
      }
      +
        +
      • +
        nftAddress: `0x${string}`
      • +
      • +
        standard: NftStandard
      • +
      • +
        Optional to?: `0x${string}`
    +

    Returns Promise<boolean>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          nftAddress: `0x${string}`;
          standard: NftStandard;
          to?: `0x${string}`;
      }
      +
        +
      • +
        nftAddress: `0x${string}`
      • +
      • +
        standard: NftStandard
      • +
      • +
        Optional to?: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            owner: `0x${string}`;
            operator: `0x${string}`;
            approved: boolean;
        } | {
            owner: `0x${string}`;
            operator: `0x${string}`;
            approved: boolean;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          tokenAddress: `0x${string}`;
          amount: bigint;
          to?: `0x${string}`;
      }
      +
        +
      • +
        tokenAddress: `0x${string}`
      • +
      • +
        amount: bigint
      • +
      • +
        Optional to?: `0x${string}`
    +

    Returns Promise<boolean>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          tokenAddress: `0x${string}`;
          amount?: bigint;
          to?: `0x${string}`;
      }
      +
        +
      • +
        tokenAddress: `0x${string}`
      • +
      • +
        Optional amount?: bigint
      • +
      • +
        Optional to?: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            owner: `0x${string}`;
            spender: `0x${string}`;
            amount: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        vaultId: bigint;
        receipts: ({
            vaultId: bigint;
            collection: `0x${string}`;
            tokenId: bigint;
        } | {
            vaultId: bigint;
            token: `0x${string}`;
            tokenId: bigint;
            amount: bigint;
        })[];
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          nfts: CreateVaultArgs;
          userVaultAddress?: `0x${string}`;
      }
      +
    +

    Returns Promise<{
        vaultId: bigint;
        receipts: ({
            vaultId: bigint;
            collection: `0x${string}`;
            tokenId: bigint;
        } | {
            vaultId: bigint;
            token: `0x${string}`;
            tokenId: bigint;
            amount: bigint;
        })[];
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            vaultId: bigint;
            collection: `0x${string}`;
            tokenId: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            vaultId: bigint;
            token: `0x${string}`;
            tokenId: bigint;
            amount: bigint;
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<{
            events: {
                vaultId: bigint;
                collection: `0x${string}`;
                tokenId: bigint;
            }[];
            oldEvents: {
                vaultId: bigint;
                collection: `0x${string}`;
                tokenId: bigint;
            }[];
        }>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitMined: (() => Promise<TransactionReceipt>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitMined: (() => Promise<TransactionReceipt>);
    }>

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      __namedParameters: {
          repaymentCalldata: `0x${string}`;
      }
      +
        +
      • +
        repaymentCalldata: `0x${string}`
    +

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<TransactionReceipt>);
    }>

+
+

Properties

+
+ +
contracts: Contracts
+
+ +
wallet: {}
+
+

Type declaration

+
    +
    + +
    account: Account
    +
    + +
    bcClient: {}
    +
    +

    Type declaration

    +
      +
      + +
      api: Api
      +
      + +
      defaults: {
          Msl: `0x${string}`;
          UserVault: `0x${string}`;
      }
      +
      +

      Type declaration

      +
        +
      • +
        Msl: `0x${string}`
      • +
      • +
        UserVault: `0x${string}`
      +
      +
      \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.AllV4.html b/docs/0.15.0b2/classes/Internal.AllV4.html new file mode 100644 index 00000000..55308f3f --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.AllV4.html @@ -0,0 +1,499 @@ +AllV4 | Gondi JS SDK - v0.15.0b2
      +
      + +
      +
      +
      +
      + +

      Class AllV4

      +
      +

      Hierarchy

      +
      +
      +
      +
      + +
      +
      +

      Constructors

      +
      + +
      +
      +

      Methods

      +
      + +
        + +
      • +
        +

        Parameters

        +
          +
        • +
          __namedParameters: {
              collectionContractAddress: `0x${string}`;
              tokenId: bigint;
              bid: bigint;
          }
          +
            +
          • +
            collectionContractAddress: `0x${string}`
          • +
          • +
            tokenId: bigint
          • +
          • +
            bid: bigint
        +

        Returns Promise<{
            txHash: `0x${string}`;
            waitTxInBlock: (() => Promise<{
                auctionContract: `0x${string}`;
                tokenId: bigint;
                newBidder: `0x${string}`;
                bid: bigint;
                loanAddress: `0x${string}`;
                loanId: bigint;
            }>);
        }>

      +
      + +
      +
      + +
        + +
      • +

        Returns Promise<{
            txHash: `0x${string}`;
            waitTxInBlock: (() => Promise<{
                loanAddress: `0x${string}`;
                loanId: bigint;
                nftAddress: `0x${string}`;
                tokenId: bigint;
                largestTrancheIdx: bigint;
            }>);
        }>

      +
      + +
        + +
      • +
        +

        Parameters

        +
          +
        • +
          __namedParameters: {
              loan: LoanV4;
          }
          +
        +

        Returns Promise<{
            txHash: `0x${string}`;
            waitTxInBlock: (() => Promise<{
                loanContract: `0x${string}`;
                loanId: bigint;
                auctionContract: `0x${string}`;
                tokenId: bigint;
                asset: `0x${string}`;
                highestBid: bigint;
                settler: `0x${string}`;
                triggerFee: bigint;
            }>);
        }>

      +
      +

      Properties

      +
      + +
      LOAN_SETTLEMENT_ENCODE_TYPES: {
          name: string;
          type: string;
          components: ({
              name: string;
              type: string;
              components?: undefined;
          } | {
              name: string;
              type: string;
              components: {
                  name: string;
                  internalType: string;
                  type: string;
              }[];
          })[];
      }[] = ...
      +
      +

      Type declaration

      +
        +
      • +
        name: string
      • +
      • +
        type: string
      • +
      • +
        components: ({
            name: string;
            type: string;
            components?: undefined;
        } | {
            name: string;
            type: string;
            components: {
                name: string;
                internalType: string;
                type: string;
            }[];
        })[]
      +
      + +
      abi: readonly [{
          stateMutability: "nonpayable";
          type: "constructor";
          inputs: readonly [{
              name: "currencyManager";
              internalType: "address";
              type: "address";
          }, {
              name: "collectionManager";
              internalType: "address";
              type: "address";
          }, {
              name: "triggerFee";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          type: "error";
          inputs: readonly [];
          name: "AuctionAlreadyInProgressError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "_contract";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "AuctionNotExistsError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "_expiration";
              internalType: "uint96";
              type: "uint96";
          }];
          name: "AuctionNotOverError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "_expiration";
              internalType: "uint96";
              type: "uint96";
          }];
          name: "AuctionOverError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "CollectionNotWhitelistedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "CurrencyNotWhitelistedError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "triggerFee";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "InvalidTriggerFee";
      }, {
          type: "error";
          inputs: readonly [{
              name: "_loan";
              internalType: "address";
              type: "address";
          }];
          name: "LoanNotAcceptedError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "_minBid";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "MinBidError";
      }, {
          type: "error";
          inputs: readonly [{
              name: "_owner";
              internalType: "address";
              type: "address";
          }];
          name: "NFTNotOwnedError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "NoBidsError";
      }, {
          type: "error";
          inputs: readonly [];
          name: "ZeroAddressError";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "loanContract";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "loanId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "auctionContract";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "tokenId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "asset";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "highestBid";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "settler";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "triggerFee";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "AuctionSettled";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "auctionContract";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "tokenId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "newBidder";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "bid";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "loanAddress";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "loanId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "BidPlaced";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "loan";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "LoanContractAdded";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "loan";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "LoanContractRemoved";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "loanAddress";
              internalType: "address";
              type: "address";
              indexed: false;
          }, {
              name: "loanId";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }, {
              name: "duration";
              internalType: "uint96";
              type: "uint96";
              indexed: false;
          }, {
              name: "asset";
              internalType: "address";
              type: "address";
              indexed: false;
          }];
          name: "LoanLiquidationStarted";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "user";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "newOwner";
              internalType: "address";
              type: "address";
              indexed: true;
          }];
          name: "OwnershipTransferred";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "triggerFee";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "TriggerFeeUpdated";
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "MAX_TRIGGER_FEE";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "MIN_INCREMENT_BPS";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_loanContract";
              internalType: "address";
              type: "address";
          }];
          name: "addLoanContract";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "_contract";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "getAuction";
          outputs: readonly [{
              name: "";
              internalType: "struct AuctionLoanLiquidator.Auction";
              type: "tuple";
              components: readonly [{
                  name: "loanAddress";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "highestBid";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "highestBidder";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "duration";
                  internalType: "uint96";
                  type: "uint96";
              }, {
                  name: "asset";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "startTime";
                  internalType: "uint96";
                  type: "uint96";
              }, {
                  name: "originator";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "lastBidTime";
                  internalType: "uint96";
                  type: "uint96";
              }];
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "getTriggerFee";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "getValidLoanContracts";
          outputs: readonly [{
              name: "";
              internalType: "address[]";
              type: "address[]";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_loanId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_contract";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_asset";
              internalType: "address";
              type: "address";
          }, {
              name: "_duration";
              internalType: "uint96";
              type: "uint96";
          }, {
              name: "_originator";
              internalType: "address";
              type: "address";
          }];
          name: "liquidateLoan";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "onERC721Received";
          outputs: readonly [{
              name: "";
              internalType: "bytes4";
              type: "bytes4";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "owner";
          outputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_contract";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_bid";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "placeBid";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_loanContract";
              internalType: "address";
              type: "address";
          }];
          name: "removeLoanContract";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "_contract";
              internalType: "address";
              type: "address";
          }, {
              name: "_tokenId";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "_loan";
              internalType: "bytes";
              type: "bytes";
          }];
          name: "settleAuction";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "newOwner";
              internalType: "address";
              type: "address";
          }];
          name: "transferOwnership";
          outputs: readonly [];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "triggerFee";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "updateTriggerFee";
          outputs: readonly [];
      }]
      +
      + +
      address: `0x${string}`
      +
      + +
      bcClient: {}
      +
      +

      Type declaration

      +
        +
        + +
        wallet: {}
        +
        +

        Type declaration

        +
          +
          + +
          contract: GetContractReturnType<readonly [{
              stateMutability: "nonpayable";
              type: "constructor";
              inputs: readonly [{
                  name: "currencyManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "collectionManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              type: "error";
              inputs: readonly [];
              name: "AuctionAlreadyInProgressError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "AuctionNotExistsError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_expiration";
                  internalType: "uint96";
                  type: "uint96";
              }];
              name: "AuctionNotOverError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_expiration";
                  internalType: "uint96";
                  type: "uint96";
              }];
              name: "AuctionOverError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CollectionNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CurrencyNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "InvalidTriggerFee";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_loan";
                  internalType: "address";
                  type: "address";
              }];
              name: "LoanNotAcceptedError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_minBid";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "MinBidError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_owner";
                  internalType: "address";
                  type: "address";
              }];
              name: "NFTNotOwnedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "NoBidsError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "ZeroAddressError";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loanContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "auctionContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "asset";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "highestBid";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "settler";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "AuctionSettled";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "auctionContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "newBidder";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "bid";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "loanAddress";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "BidPlaced";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loan";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanContractAdded";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loan";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanContractRemoved";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loanAddress";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "duration";
                  internalType: "uint96";
                  type: "uint96";
                  indexed: false;
              }, {
                  name: "asset";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanLiquidationStarted";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "user";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "TriggerFeeUpdated";
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "MAX_TRIGGER_FEE";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "MIN_INCREMENT_BPS";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanContract";
                  internalType: "address";
                  type: "address";
              }];
              name: "addLoanContract";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "getAuction";
              outputs: readonly [{
                  name: "";
                  internalType: "struct AuctionLoanLiquidator.Auction";
                  type: "tuple";
                  components: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBidder";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "startTime";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "originator";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "lastBidTime";
                      internalType: "uint96";
                      type: "uint96";
                  }];
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "getTriggerFee";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "getValidLoanContracts";
              outputs: readonly [{
                  name: "";
                  internalType: "address[]";
                  type: "address[]";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_asset";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_duration";
                  internalType: "uint96";
                  type: "uint96";
              }, {
                  name: "_originator";
                  internalType: "address";
                  type: "address";
              }];
              name: "liquidateLoan";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "onERC721Received";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes4";
                  type: "bytes4";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "owner";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_bid";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "placeBid";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanContract";
                  internalType: "address";
                  type: "address";
              }];
              name: "removeLoanContract";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_loan";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "settleAuction";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
              }];
              name: "transferOwnership";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "updateTriggerFee";
              outputs: readonly [];
          }], {} | {}>
          +
          + +
          safeContractWrite: {
              transferOwnership: ((args, options?) => Promise<`0x${string}`>);
              addLoanContract: ((args, options?) => Promise<`0x${string}`>);
              liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
              onERC721Received: ((args, options?) => Promise<`0x${string}`>);
              placeBid: ((args, options?) => Promise<`0x${string}`>);
              removeLoanContract: ((args, options?) => Promise<`0x${string}`>);
              settleAuction: ((args, options?) => Promise<`0x${string}`>);
              updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
          }
          +
          +

          Type declaration

          +
            +
          • +
            transferOwnership: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [`0x${string}`]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          • +
          • +
            addLoanContract: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [`0x${string}`]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          • +
          • +
            liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [bigint, `0x${string}`, bigint, `0x${string}`, bigint, `0x${string}`]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          • +
          • +
            onERC721Received: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          • +
          • +
            placeBid: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [`0x${string}`, bigint, bigint]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          • +
          • +
            removeLoanContract: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [`0x${string}`]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          • +
          • +
            settleAuction: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [`0x${string}`, bigint, `0x${string}`]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          • +
          • +
            updateTriggerFee: ((args, options?) => Promise<`0x${string}`>)
            +
              +
            • +
                +
              • (args, options?): Promise<`0x${string}`>
              • +
              • +
                +

                Parameters

                +
                  +
                • +
                  args: readonly [bigint]
                • +
                • +
                  Optional options: {
                      value?: bigint;
                  }
                  +
                    +
                  • +
                    Optional value?: bigint
                +

                Returns Promise<`0x${string}`>

          +
          + +
          parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
              stateMutability: "nonpayable";
              type: "constructor";
              inputs: readonly [{
                  name: "currencyManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "collectionManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              type: "error";
              inputs: readonly [];
              name: "AuctionAlreadyInProgressError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "AuctionNotExistsError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_expiration";
                  internalType: "uint96";
                  type: "uint96";
              }];
              name: "AuctionNotOverError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_expiration";
                  internalType: "uint96";
                  type: "uint96";
              }];
              name: "AuctionOverError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CollectionNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CurrencyNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "InvalidTriggerFee";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_loan";
                  internalType: "address";
                  type: "address";
              }];
              name: "LoanNotAcceptedError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_minBid";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "MinBidError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_owner";
                  internalType: "address";
                  type: "address";
              }];
              name: "NFTNotOwnedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "NoBidsError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "ZeroAddressError";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loanContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "auctionContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "asset";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "highestBid";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "settler";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "AuctionSettled";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "auctionContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "newBidder";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "bid";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "loanAddress";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "BidPlaced";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loan";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanContractAdded";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loan";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanContractRemoved";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loanAddress";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "duration";
                  internalType: "uint96";
                  type: "uint96";
                  indexed: false;
              }, {
                  name: "asset";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanLiquidationStarted";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "user";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "TriggerFeeUpdated";
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "MAX_TRIGGER_FEE";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "MIN_INCREMENT_BPS";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanContract";
                  internalType: "address";
                  type: "address";
              }];
              name: "addLoanContract";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "getAuction";
              outputs: readonly [{
                  name: "";
                  internalType: "struct AuctionLoanLiquidator.Auction";
                  type: "tuple";
                  components: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBidder";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "startTime";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "originator";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "lastBidTime";
                      internalType: "uint96";
                      type: "uint96";
                  }];
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "getTriggerFee";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "getValidLoanContracts";
              outputs: readonly [{
                  name: "";
                  internalType: "address[]";
                  type: "address[]";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_asset";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_duration";
                  internalType: "uint96";
                  type: "uint96";
              }, {
                  name: "_originator";
                  internalType: "address";
                  type: "address";
              }];
              name: "liquidateLoan";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "onERC721Received";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes4";
                  type: "bytes4";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "owner";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_bid";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "placeBid";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanContract";
                  internalType: "address";
                  type: "address";
              }];
              name: "removeLoanContract";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_loan";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "settleAuction";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
              }];
              name: "transferOwnership";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "updateTriggerFee";
              outputs: readonly [];
          }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated")[]
              ? TFunctionName[number]
              : TFunctionName>)
          +
          +

          Type declaration

          +
            +
          • +
              +
            • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                  stateMutability: "nonpayable";
                  type: "constructor";
                  inputs: readonly [{
                      name: "currencyManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "collectionManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AuctionAlreadyInProgressError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "AuctionNotExistsError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionNotOverError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionOverError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CollectionNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CurrencyNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "InvalidTriggerFee";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_loan";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "LoanNotAcceptedError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_minBid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "MinBidError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_owner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "NFTNotOwnedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "NoBidsError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "ZeroAddressError";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "auctionContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "settler";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "AuctionSettled";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "auctionContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "newBidder";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "bid";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "BidPlaced";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractAdded";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractRemoved";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                      indexed: false;
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanLiquidationStarted";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "user";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }, {
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }];
                  name: "OwnershipTransferred";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "TriggerFeeUpdated";
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MAX_TRIGGER_FEE";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MIN_INCREMENT_BPS";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "addLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "getAuction";
                  outputs: readonly [{
                      name: "";
                      internalType: "struct AuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getTriggerFee";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getValidLoanContracts";
                  outputs: readonly [{
                      name: "";
                      internalType: "address[]";
                      type: "address[]";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "_originator";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "liquidateLoan";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  name: "onERC721Received";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes4";
                      type: "bytes4";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "owner";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_bid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "placeBid";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "removeLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_loan";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  name: "settleAuction";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "transferOwnership";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "updateTriggerFee";
                  outputs: readonly [];
              }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated")[]
                  ? TFunctionName[number]
                  : TFunctionName>
            • +
            • +
              +

              Type Parameters

              +
                +
              • +

                TFunctionName extends "OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated"

              +
              +

              Parameters

              +
                +
              • +
                eventName: TFunctionName
              • +
              • +
                logs: Log<bigint, number, false>[]
              +

              Returns ParseEventLogsReturnType<readonly [{
                  stateMutability: "nonpayable";
                  type: "constructor";
                  inputs: readonly [{
                      name: "currencyManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "collectionManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AuctionAlreadyInProgressError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "AuctionNotExistsError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionNotOverError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionOverError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CollectionNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CurrencyNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "InvalidTriggerFee";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_loan";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "LoanNotAcceptedError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_minBid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "MinBidError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_owner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "NFTNotOwnedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "NoBidsError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "ZeroAddressError";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "auctionContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "settler";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "AuctionSettled";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "auctionContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "newBidder";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "bid";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "BidPlaced";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractAdded";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractRemoved";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                      indexed: false;
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanLiquidationStarted";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "user";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }, {
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }];
                  name: "OwnershipTransferred";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "TriggerFeeUpdated";
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MAX_TRIGGER_FEE";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MIN_INCREMENT_BPS";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "addLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "getAuction";
                  outputs: readonly [{
                      name: "";
                      internalType: "struct AuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getTriggerFee";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getValidLoanContracts";
                  outputs: readonly [{
                      name: "";
                      internalType: "address[]";
                      type: "address[]";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "_originator";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "liquidateLoan";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  name: "onERC721Received";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes4";
                      type: "bytes4";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "owner";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_bid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "placeBid";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "removeLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_loan";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  name: "settleAuction";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "transferOwnership";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "updateTriggerFee";
                  outputs: readonly [];
              }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated")[]
                  ? TFunctionName[number]
                  : TFunctionName>

          +
          + +
          +
          \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.AllV5.html b/docs/0.15.0b2/classes/Internal.AllV5.html new file mode 100644 index 00000000..c1d6a7e5 --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.AllV5.html @@ -0,0 +1,505 @@ +AllV5 | Gondi JS SDK - v0.15.0b2
          +
          + +
          +
          +
          +
          + +

          Class AllV5

          +
          +

          Hierarchy

          +
          +
          +
          +
          + +
          +
          +

          Constructors

          +
          + +
          +
          +

          Methods

          +
          + +
            + +
          • +
            +

            Parameters

            +
              +
            • +
              __namedParameters: {
                  collectionContractAddress: `0x${string}`;
                  tokenId: bigint;
                  bid: bigint;
                  auction: Auction;
              }
              +
                +
              • +
                collectionContractAddress: `0x${string}`
              • +
              • +
                tokenId: bigint
              • +
              • +
                bid: bigint
              • +
              • +
                auction: Auction
            +

            Returns Promise<{
                txHash: `0x${string}`;
                waitTxInBlock: (() => Promise<{
                    collection: `0x${string}`;
                    tokenId: bigint;
                    newBidder: `0x${string}`;
                    bid: bigint;
                    loanAddress: `0x${string}`;
                    loanId: bigint;
                }>);
            }>

          +
          + +
          +
          + +
            + +
          • +

            Returns Promise<{
                txHash: `0x${string}`;
                waitTxInBlock: (() => Promise<{
                    loanAddress: `0x${string}`;
                    loanId: bigint;
                    nftAddress: `0x${string}`;
                    tokenId: bigint;
                    largestTrancheIdx: bigint;
                }>);
            }>

          +
          + +
            + +
          • +
            +

            Parameters

            +
            +

            Returns Promise<{
                txHash: `0x${string}`;
                waitTxInBlock: (() => Promise<{
                    loanContract: `0x${string}`;
                    loanId: bigint;
                    auctionContract: `0x${string}`;
                    tokenId: bigint;
                    asset: `0x${string}`;
                    proceeds: bigint;
                    settler: `0x${string}`;
                    triggerFee: bigint;
                }>);
            }>

          +
          +

          Properties

          +
          + +
          abi: readonly [{
              stateMutability: "nonpayable";
              type: "constructor";
              inputs: readonly [{
                  name: "liquidationDistributor";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "currencyManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "collectionManager";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              type: "error";
              inputs: readonly [];
              name: "AddressZeroError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "AuctionAlreadyInProgressError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_expiration";
                  internalType: "uint96";
                  type: "uint96";
              }];
              name: "AuctionNotOverError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_expiration";
                  internalType: "uint96";
                  type: "uint96";
              }];
              name: "AuctionOverError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CollectionNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CouldNotModifyValidLoansError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "CurrencyNotWhitelistedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "InvalidHashAuctionError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "InvalidTriggerFee";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_loan";
                  internalType: "address";
                  type: "address";
              }];
              name: "LoanNotAcceptedError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_minBid";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "MinBidError";
          }, {
              type: "error";
              inputs: readonly [{
                  name: "_owner";
                  internalType: "address";
                  type: "address";
              }];
              name: "NFTNotOwnedError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "NoBidsError";
          }, {
              type: "error";
              inputs: readonly [];
              name: "ZeroAddressError";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loanContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "auctionContract";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "asset";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "proceeds";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "settler";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "AuctionSettled";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "collection";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "newBidder";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "bid";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "loanAddress";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "loanId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "BidPlaced";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "liquidationDistributor";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LiquidationDistributorUpdated";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loan";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanContractAdded";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "loan";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }];
              name: "LoanContractRemoved";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "collection";
                  internalType: "address";
                  type: "address";
                  indexed: false;
              }, {
                  name: "tokenId";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }, {
                  name: "auction";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  type: "tuple";
                  components: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBidder";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "startTime";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "originator";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "lastBidTime";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  indexed: false;
              }];
              name: "LoanLiquidationStarted";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "user";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }];
              name: "OwnershipTransferred";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "TriggerFeeUpdated";
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "MAX_TRIGGER_FEE";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "MIN_INCREMENT_BPS";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanContract";
                  internalType: "address";
                  type: "address";
              }];
              name: "addLoanContract";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "getAuctionHash";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes32";
                  type: "bytes32";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "getLiquidationDistributor";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "getTriggerFee";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "getValidLoanContracts";
              outputs: readonly [{
                  name: "";
                  internalType: "address[]";
                  type: "address[]";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_asset";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_duration";
                  internalType: "uint96";
                  type: "uint96";
              }, {
                  name: "_originator";
                  internalType: "address";
                  type: "address";
              }];
              name: "liquidateLoan";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes";
                  type: "bytes";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "";
                  internalType: "bytes";
                  type: "bytes";
              }];
              name: "onERC721Received";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes4";
                  type: "bytes4";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "owner";
              outputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_contract";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "_tokenId";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "_auction";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  type: "tuple";
                  components: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBidder";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "startTime";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "originator";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "lastBidTime";
                      internalType: "uint96";
                      type: "uint96";
                  }];
              }, {
                  name: "_bid";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "placeBid";
              outputs: readonly [{
                  name: "";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  type: "tuple";
                  components: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBidder";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "startTime";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "originator";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "lastBidTime";
                      internalType: "uint96";
                      type: "uint96";
                  }];
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_loanContract";
                  internalType: "address";
                  type: "address";
              }];
              name: "removeLoanContract";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "_auction";
                  internalType: "struct IAuctionLoanLiquidator.Auction";
                  type: "tuple";
                  components: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBid";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "highestBidder";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "startTime";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "originator";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "lastBidTime";
                      internalType: "uint96";
                      type: "uint96";
                  }];
              }, {
                  name: "_loan";
                  internalType: "struct IMultiSourceLoan.Loan";
                  type: "tuple";
                  components: readonly [{
                      name: "borrower";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "nftCollateralTokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "nftCollateralAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "principalAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "principalAmount";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "startTime";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "duration";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "source";
                      internalType: "struct IMultiSourceLoan.Source[]";
                      type: "tuple[]";
                      components: readonly [{
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "lender";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAmount";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "accruedInterest";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "startTime";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "aprBps";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }];
              }];
              name: "settleAuction";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "newOwner";
                  internalType: "address";
                  type: "address";
              }];
              name: "transferOwnership";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "__liquidationDistributor";
                  internalType: "address";
                  type: "address";
              }];
              name: "updateLiquidationDistributor";
              outputs: readonly [];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "triggerFee";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "updateTriggerFee";
              outputs: readonly [];
          }]
          +
          + +
          address: `0x${string}`
          +
          + +
          bcClient: {}
          +
          +

          Type declaration

          +
            +
            + +
            wallet: {}
            +
            +

            Type declaration

            +
              +
              + +
              contract: GetContractReturnType<readonly [{
                  stateMutability: "nonpayable";
                  type: "constructor";
                  inputs: readonly [{
                      name: "liquidationDistributor";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "currencyManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "collectionManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AddressZeroError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AuctionAlreadyInProgressError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionNotOverError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionOverError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CollectionNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CouldNotModifyValidLoansError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CurrencyNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "InvalidHashAuctionError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "InvalidTriggerFee";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_loan";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "LoanNotAcceptedError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_minBid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "MinBidError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_owner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "NFTNotOwnedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "NoBidsError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "ZeroAddressError";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "auctionContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "proceeds";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "settler";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "AuctionSettled";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "collection";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "newBidder";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "bid";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "BidPlaced";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "liquidationDistributor";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LiquidationDistributorUpdated";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractAdded";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractRemoved";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "collection";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      indexed: false;
                  }];
                  name: "LoanLiquidationStarted";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "user";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }, {
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }];
                  name: "OwnershipTransferred";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "TriggerFeeUpdated";
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MAX_TRIGGER_FEE";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MIN_INCREMENT_BPS";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "addLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "getAuctionHash";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes32";
                      type: "bytes32";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getLiquidationDistributor";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getTriggerFee";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getValidLoanContracts";
                  outputs: readonly [{
                      name: "";
                      internalType: "address[]";
                      type: "address[]";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "_originator";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "liquidateLoan";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  name: "onERC721Received";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes4";
                      type: "bytes4";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "owner";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }, {
                      name: "_bid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "placeBid";
                  outputs: readonly [{
                      name: "";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "removeLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }, {
                      name: "_loan";
                      internalType: "struct IMultiSourceLoan.Loan";
                      type: "tuple";
                      components: readonly [{
                          name: "borrower";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "nftCollateralTokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "nftCollateralAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAmount";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "startTime";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "duration";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "source";
                          internalType: "struct IMultiSourceLoan.Source[]";
                          type: "tuple[]";
                          components: readonly [{
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "lender";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "accruedInterest";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "aprBps";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }];
                  }];
                  name: "settleAuction";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "transferOwnership";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "__liquidationDistributor";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "updateLiquidationDistributor";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "updateTriggerFee";
                  outputs: readonly [];
              }], {} | {}>
              +
              + +
              safeContractWrite: {
                  transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                  addLoanContract: ((args, options?) => Promise<`0x${string}`>);
                  liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                  onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                  placeBid: ((args, options?) => Promise<`0x${string}`>);
                  removeLoanContract: ((args, options?) => Promise<`0x${string}`>);
                  settleAuction: ((args, options?) => Promise<`0x${string}`>);
                  updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
                  updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>);
              }
              +
              +

              Type declaration

              +
                +
              • +
                transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [`0x${string}`]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                addLoanContract: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [`0x${string}`]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [bigint, `0x${string}`, bigint, `0x${string}`, bigint, `0x${string}`]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                placeBid: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [`0x${string}`, bigint, {
                          loanAddress: `0x${string}`;
                          loanId: bigint;
                          highestBid: bigint;
                          triggerFee: bigint;
                          highestBidder: `0x${string}`;
                          duration: bigint;
                          asset: `0x${string}`;
                          startTime: bigint;
                          originator: `0x${string}`;
                          lastBidTime: bigint;
                      }, bigint] | readonly [`0x${string}`, bigint, {
                          loanAddress: `0x${string}`;
                          loanId: bigint;
                          highestBid: bigint;
                          triggerFee: bigint;
                          highestBidder: `0x${string}`;
                          duration: bigint;
                          asset: `0x${string}`;
                          startTime: bigint;
                          originator: `0x${string}`;
                          lastBidTime: bigint;
                      }, bigint] & readonly [`0x${string}`, bigint, {
                          loanAddress: `0x${string}`;
                          loanId: bigint;
                          highestBid: bigint;
                          triggerFee: bigint;
                          highestBidder: `0x${string}`;
                          duration: bigint;
                          asset: `0x${string}`;
                          startTime: bigint;
                          originator: `0x${string}`;
                          lastBidTime: bigint;
                      }, bigint]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                removeLoanContract: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [`0x${string}`]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                settleAuction: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [{
                          loanAddress: `0x${string}`;
                          loanId: bigint;
                          highestBid: bigint;
                          triggerFee: bigint;
                          highestBidder: `0x${string}`;
                          duration: bigint;
                          asset: `0x${string}`;
                          startTime: bigint;
                          originator: `0x${string}`;
                          lastBidTime: bigint;
                      }, {
                          borrower: `0x${string}`;
                          nftCollateralTokenId: bigint;
                          nftCollateralAddress: `0x${string}`;
                          principalAddress: `0x${string}`;
                          principalAmount: bigint;
                          startTime: bigint;
                          duration: bigint;
                          source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                      }] | readonly [{
                          loanAddress: `0x${string}`;
                          loanId: bigint;
                          highestBid: bigint;
                          triggerFee: bigint;
                          highestBidder: `0x${string}`;
                          duration: bigint;
                          asset: `0x${string}`;
                          startTime: bigint;
                          originator: `0x${string}`;
                          lastBidTime: bigint;
                      }, {
                          borrower: `0x${string}`;
                          nftCollateralTokenId: bigint;
                          nftCollateralAddress: `0x${string}`;
                          principalAddress: `0x${string}`;
                          principalAmount: bigint;
                          startTime: bigint;
                          duration: bigint;
                          source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                      }] & readonly [{
                          loanAddress: `0x${string}`;
                          loanId: bigint;
                          highestBid: bigint;
                          triggerFee: bigint;
                          highestBidder: `0x${string}`;
                          duration: bigint;
                          asset: `0x${string}`;
                          startTime: bigint;
                          originator: `0x${string}`;
                          lastBidTime: bigint;
                      }, {
                          borrower: `0x${string}`;
                          nftCollateralTokenId: bigint;
                          nftCollateralAddress: `0x${string}`;
                          principalAddress: `0x${string}`;
                          principalAmount: bigint;
                          startTime: bigint;
                          duration: bigint;
                          source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                      }]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                updateTriggerFee: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [bigint]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              • +
              • +
                updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>)
                +
                  +
                • +
                    +
                  • (args, options?): Promise<`0x${string}`>
                  • +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      args: readonly [`0x${string}`]
                    • +
                    • +
                      Optional options: {
                          value?: bigint;
                      }
                      +
                        +
                      • +
                        Optional value?: bigint
                    +

                    Returns Promise<`0x${string}`>

              +
              + +
              parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                  stateMutability: "nonpayable";
                  type: "constructor";
                  inputs: readonly [{
                      name: "liquidationDistributor";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "currencyManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "collectionManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AddressZeroError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AuctionAlreadyInProgressError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionNotOverError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionOverError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CollectionNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CouldNotModifyValidLoansError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CurrencyNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "InvalidHashAuctionError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "InvalidTriggerFee";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_loan";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "LoanNotAcceptedError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_minBid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "MinBidError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_owner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "NFTNotOwnedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "NoBidsError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "ZeroAddressError";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "auctionContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "proceeds";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "settler";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "AuctionSettled";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "collection";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "newBidder";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "bid";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "BidPlaced";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "liquidationDistributor";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LiquidationDistributorUpdated";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractAdded";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractRemoved";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "collection";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      indexed: false;
                  }];
                  name: "LoanLiquidationStarted";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "user";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }, {
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }];
                  name: "OwnershipTransferred";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "TriggerFeeUpdated";
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MAX_TRIGGER_FEE";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "MIN_INCREMENT_BPS";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "addLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "getAuctionHash";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes32";
                      type: "bytes32";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getLiquidationDistributor";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getTriggerFee";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "getValidLoanContracts";
                  outputs: readonly [{
                      name: "";
                      internalType: "address[]";
                      type: "address[]";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "_originator";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "liquidateLoan";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  name: "onERC721Received";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes4";
                      type: "bytes4";
                  }];
              }, {
                  stateMutability: "view";
                  type: "function";
                  inputs: readonly [];
                  name: "owner";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_contract";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }, {
                      name: "_bid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "placeBid";
                  outputs: readonly [{
                      name: "";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "removeLoanContract";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "_auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }, {
                      name: "_loan";
                      internalType: "struct IMultiSourceLoan.Loan";
                      type: "tuple";
                      components: readonly [{
                          name: "borrower";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "nftCollateralTokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "nftCollateralAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAmount";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "startTime";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "duration";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "source";
                          internalType: "struct IMultiSourceLoan.Source[]";
                          type: "tuple[]";
                          components: readonly [{
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "lender";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "accruedInterest";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "aprBps";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }];
                  }];
                  name: "settleAuction";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "transferOwnership";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "__liquidationDistributor";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "updateLiquidationDistributor";
                  outputs: readonly [];
              }, {
                  stateMutability: "nonpayable";
                  type: "function";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "updateTriggerFee";
                  outputs: readonly [];
              }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated")[]
                  ? TFunctionName[number]
                  : TFunctionName>)
              +
              +

              Type declaration

              +
                +
              • +
                  +
                • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                      stateMutability: "nonpayable";
                      type: "constructor";
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "currencyManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "collectionManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AddressZeroError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AuctionAlreadyInProgressError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionNotOverError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionOverError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CollectionNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CouldNotModifyValidLoansError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CurrencyNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "InvalidHashAuctionError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "InvalidTriggerFee";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_loan";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "LoanNotAcceptedError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "MinBidError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_owner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "NFTNotOwnedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "NoBidsError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "ZeroAddressError";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loanContract";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "auctionContract";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "proceeds";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "settler";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "AuctionSettled";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "newBidder";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "bid";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "BidPlaced";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LiquidationDistributorUpdated";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractAdded";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractRemoved";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          indexed: false;
                      }];
                      name: "LoanLiquidationStarted";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "user";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }, {
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }];
                      name: "OwnershipTransferred";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "TriggerFeeUpdated";
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "MAX_TRIGGER_FEE";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "MIN_INCREMENT_BPS";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "addLoanContract";
                      outputs: readonly [];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [{
                          name: "_contract";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "getAuctionHash";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes32";
                          type: "bytes32";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "getLiquidationDistributor";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "getTriggerFee";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "getValidLoanContracts";
                      outputs: readonly [{
                          name: "";
                          internalType: "address[]";
                          type: "address[]";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_contract";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "_originator";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "liquidateLoan";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                      name: "onERC721Received";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes4";
                          type: "bytes4";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "owner";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_contract";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_bid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "placeBid";
                      outputs: readonly [{
                          name: "";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "removeLoanContract";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_loan";
                          internalType: "struct IMultiSourceLoan.Loan";
                          type: "tuple";
                          components: readonly [{
                              name: "borrower";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "nftCollateralTokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "nftCollateralAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "duration";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "source";
                              internalType: "struct IMultiSourceLoan.Source[]";
                              type: "tuple[]";
                              components: readonly [{
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "lender";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "accruedInterest";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "aprBps";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }];
                      }];
                      name: "settleAuction";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "transferOwnership";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "__liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "updateLiquidationDistributor";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "updateTriggerFee";
                      outputs: readonly [];
                  }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated")[]
                      ? TFunctionName[number]
                      : TFunctionName>
                • +
                • +
                  +

                  Type Parameters

                  +
                    +
                  • +

                    TFunctionName extends "OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated"

                  +
                  +

                  Parameters

                  +
                    +
                  • +
                    eventName: TFunctionName
                  • +
                  • +
                    logs: Log<bigint, number, false>[]
                  +

                  Returns ParseEventLogsReturnType<readonly [{
                      stateMutability: "nonpayable";
                      type: "constructor";
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "currencyManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "collectionManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AddressZeroError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AuctionAlreadyInProgressError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionNotOverError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionOverError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CollectionNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CouldNotModifyValidLoansError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CurrencyNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "InvalidHashAuctionError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "InvalidTriggerFee";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_loan";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "LoanNotAcceptedError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "MinBidError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_owner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "NFTNotOwnedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "NoBidsError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "ZeroAddressError";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loanContract";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "auctionContract";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "proceeds";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "settler";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "AuctionSettled";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "newBidder";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "bid";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "BidPlaced";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LiquidationDistributorUpdated";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractAdded";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractRemoved";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          indexed: false;
                      }];
                      name: "LoanLiquidationStarted";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "user";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }, {
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }];
                      name: "OwnershipTransferred";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "TriggerFeeUpdated";
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "MAX_TRIGGER_FEE";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "MIN_INCREMENT_BPS";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "addLoanContract";
                      outputs: readonly [];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [{
                          name: "_contract";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "getAuctionHash";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes32";
                          type: "bytes32";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "getLiquidationDistributor";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "getTriggerFee";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "getValidLoanContracts";
                      outputs: readonly [{
                          name: "";
                          internalType: "address[]";
                          type: "address[]";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_contract";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "_originator";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "liquidateLoan";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                      name: "onERC721Received";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes4";
                          type: "bytes4";
                      }];
                  }, {
                      stateMutability: "view";
                      type: "function";
                      inputs: readonly [];
                      name: "owner";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_contract";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_bid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "placeBid";
                      outputs: readonly [{
                          name: "";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "removeLoanContract";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_loan";
                          internalType: "struct IMultiSourceLoan.Loan";
                          type: "tuple";
                          components: readonly [{
                              name: "borrower";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "nftCollateralTokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "nftCollateralAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "duration";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "source";
                              internalType: "struct IMultiSourceLoan.Source[]";
                              type: "tuple[]";
                              components: readonly [{
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "lender";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "accruedInterest";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "aprBps";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }];
                      }];
                      name: "settleAuction";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "transferOwnership";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "__liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "updateLiquidationDistributor";
                      outputs: readonly [];
                  }, {
                      stateMutability: "nonpayable";
                      type: "function";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "updateTriggerFee";
                      outputs: readonly [];
                  }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated")[]
                      ? TFunctionName[number]
                      : TFunctionName>

              +
              + +
              +
              \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.AllV6.html b/docs/0.15.0b2/classes/Internal.AllV6.html new file mode 100644 index 00000000..cba5a957 --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.AllV6.html @@ -0,0 +1,559 @@ +AllV6 | Gondi JS SDK - v0.15.0b2
              +
              + +
              +
              +
              +
              + +

              Class AllV6

              +
              +

              Hierarchy

              +
              +
              +
              +
              + +
              +
              +

              Constructors

              +
              + +
              +
              +

              Methods

              +
              + +
                + +
              • +
                +

                Parameters

                +
                  +
                • +
                  __namedParameters: {
                      collectionContractAddress: `0x${string}`;
                      tokenId: bigint;
                      bid: bigint;
                      auction: Auction;
                  }
                  +
                    +
                  • +
                    collectionContractAddress: `0x${string}`
                  • +
                  • +
                    tokenId: bigint
                  • +
                  • +
                    bid: bigint
                  • +
                  • +
                    auction: Auction
                +

                Returns Promise<{
                    txHash: `0x${string}`;
                    waitTxInBlock: (() => Promise<{
                        collection: `0x${string}`;
                        tokenId: bigint;
                        newBidder: `0x${string}`;
                        bid: bigint;
                        loanAddress: `0x${string}`;
                        loanId: bigint;
                    }>);
                }>

              +
              + +
                + +
              • +
                +

                Parameters

                +
                  +
                • +
                  __namedParameters: {
                      auction: Auction;
                  }
                  +
                +

                Returns Promise<number>

              +
              + +
                + +
              • +
                +

                Parameters

                +
                +

                Returns Promise<{
                    txHash: `0x${string}`;
                    waitTxInBlock: (() => Promise<{
                        loanAddress: `0x${string}`;
                        loanId: bigint;
                        nftAddress: `0x${string}`;
                        tokenId: bigint;
                        largestTrancheIdx: bigint;
                    }>);
                }>

              +
              + +
                + +
              • +
                +

                Parameters

                +
                +

                Returns Promise<{
                    txHash: `0x${string}`;
                    waitTxInBlock: (() => Promise<{
                        loanContract: `0x${string}`;
                        loanId: bigint;
                        collection: `0x${string}`;
                        tokenId: bigint;
                        asset: `0x${string}`;
                        proceeds: bigint;
                        settler: `0x${string}`;
                        triggerFee: bigint;
                    }>);
                }>

              +
              +

              Properties

              +
              + +
              abi: readonly [{
                  type: "constructor";
                  inputs: readonly [{
                      name: "liquidationDistributor";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "currencyManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "collectionManager";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "loanManagerRegistry";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "maxExtension";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "timeForMainLenderToBuy";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  stateMutability: "nonpayable";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AddressZeroError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "AuctionAlreadyInProgressError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionNotOverError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_expiration";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  name: "AuctionOverError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CollectionNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CouldNotModifyValidLoansError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "CurrencyNotWhitelistedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "InvalidHashAuctionError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "InvalidInputError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "InvalidTriggerFee";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_loan";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "LoanNotAcceptedError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_minBid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "MinBidError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "_owner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "NFTNotOwnedError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "NoBidsError";
              }, {
                  type: "error";
                  inputs: readonly [];
                  name: "NotMainLenderError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "timeLimit";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "OptionToBuyExpiredError";
              }, {
                  type: "error";
                  inputs: readonly [{
                      name: "timeLimit";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "OptionToBuyStilValidError";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanContract";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "collection";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "asset";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "proceeds";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "settler";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "AuctionSettled";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "nftAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "largestTrancheIdx";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "AuctionSettledWithBuyout";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "collection";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "newBidder";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "bid";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "loanAddress";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "loanId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "BidPlaced";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "liquidationDistributor";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LiquidationDistributorUpdated";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractAdded";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "loan";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }];
                  name: "LoanContractRemoved";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "collection";
                      internalType: "address";
                      type: "address";
                      indexed: false;
                  }, {
                      name: "tokenId";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }, {
                      name: "auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      indexed: false;
                  }];
                  name: "LoanLiquidationStarted";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "user";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }, {
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                      indexed: true;
                  }];
                  name: "OwnershipTransferred";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "timeForMainLenderToBuy";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "TimeForMainLenderToBuyUpdated";
              }, {
                  type: "event";
                  anonymous: false;
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                      indexed: false;
                  }];
                  name: "TriggerFeeUpdated";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "MAX_TRIGGER_FEE";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "MIN_INCREMENT_BPS";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "addLoanContract";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "_nftAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "getAuctionHash";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes32";
                      type: "bytes32";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "getLiquidationDistributor";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "getLoanManagerRegistry";
                  outputs: readonly [{
                      name: "";
                      internalType: "contract ILoanManagerRegistry";
                      type: "address";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "getMaxExtension";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint96";
                      type: "uint96";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "getTimeForMainLenderToBuy";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "getTriggerFee";
                  outputs: readonly [{
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "getValidLoanContracts";
                  outputs: readonly [{
                      name: "";
                      internalType: "address[]";
                      type: "address[]";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "_loanId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_nftAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_asset";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_duration";
                      internalType: "uint96";
                      type: "uint96";
                  }, {
                      name: "_minBid";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_originator";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "liquidateLoan";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "";
                      internalType: "bytes";
                      type: "bytes";
                  }];
                  name: "onERC721Received";
                  outputs: readonly [{
                      name: "";
                      internalType: "bytes4";
                      type: "bytes4";
                  }];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [];
                  name: "owner";
                  outputs: readonly [{
                      name: "";
                      internalType: "address";
                      type: "address";
                  }];
                  stateMutability: "view";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "_nftAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }, {
                      name: "_bid";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "placeBid";
                  outputs: readonly [{
                      name: "";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "_loanContract";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "removeLoanContract";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "__timeForMainLenderToBuy";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "setTimeForMainLenderToBuy";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "_auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }, {
                      name: "_loan";
                      internalType: "struct IMultiSourceLoan.Loan";
                      type: "tuple";
                      components: readonly [{
                          name: "borrower";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "nftCollateralTokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "nftCollateralAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAmount";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "startTime";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "duration";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "tranche";
                          internalType: "struct IMultiSourceLoan.Tranche[]";
                          type: "tuple[]";
                          components: readonly [{
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "floor";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "lender";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "accruedInterest";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "aprBps";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }, {
                          name: "protocolFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }];
                  name: "settleAuction";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "_nftAddress";
                      internalType: "address";
                      type: "address";
                  }, {
                      name: "_tokenId";
                      internalType: "uint256";
                      type: "uint256";
                  }, {
                      name: "_auction";
                      internalType: "struct IAuctionLoanLiquidator.Auction";
                      type: "tuple";
                      components: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "highestBidder";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "startTime";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "originator";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "lastBidTime";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                  }, {
                      name: "_loan";
                      internalType: "struct IMultiSourceLoan.Loan";
                      type: "tuple";
                      components: readonly [{
                          name: "borrower";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "nftCollateralTokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "nftCollateralAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "principalAmount";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "startTime";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "duration";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "tranche";
                          internalType: "struct IMultiSourceLoan.Tranche[]";
                          type: "tuple[]";
                          components: readonly [{
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "floor";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "lender";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "accruedInterest";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "aprBps";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }, {
                          name: "protocolFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                  }];
                  name: "settleWithBuyout";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "newOwner";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "transferOwnership";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "__liquidationDistributor";
                      internalType: "address";
                      type: "address";
                  }];
                  name: "updateLiquidationDistributor";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }, {
                  type: "function";
                  inputs: readonly [{
                      name: "triggerFee";
                      internalType: "uint256";
                      type: "uint256";
                  }];
                  name: "updateTriggerFee";
                  outputs: readonly [];
                  stateMutability: "nonpayable";
              }]
              +
              + +
              address: `0x${string}`
              +
              + +
              bcClient: {}
              +
              +

              Type declaration

              +
                +
                + +
                wallet: {}
                +
                +

                Type declaration

                +
                  +
                  + +
                  contract: GetContractReturnType<readonly [{
                      type: "constructor";
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "currencyManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "collectionManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanManagerRegistry";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "maxExtension";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "timeForMainLenderToBuy";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AddressZeroError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AuctionAlreadyInProgressError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionNotOverError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionOverError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CollectionNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CouldNotModifyValidLoansError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CurrencyNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "InvalidHashAuctionError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "InvalidInputError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "InvalidTriggerFee";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_loan";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "LoanNotAcceptedError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "MinBidError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_owner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "NFTNotOwnedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "NoBidsError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "NotMainLenderError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "timeLimit";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "OptionToBuyExpiredError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "timeLimit";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "OptionToBuyStilValidError";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loanContract";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "proceeds";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "settler";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "AuctionSettled";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "nftAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "largestTrancheIdx";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "AuctionSettledWithBuyout";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "newBidder";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "bid";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "BidPlaced";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LiquidationDistributorUpdated";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractAdded";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractRemoved";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          indexed: false;
                      }];
                      name: "LoanLiquidationStarted";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "user";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }, {
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }];
                      name: "OwnershipTransferred";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "timeForMainLenderToBuy";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "TimeForMainLenderToBuyUpdated";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "TriggerFeeUpdated";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "MAX_TRIGGER_FEE";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "MIN_INCREMENT_BPS";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "addLoanContract";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "getAuctionHash";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes32";
                          type: "bytes32";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getLiquidationDistributor";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getLoanManagerRegistry";
                      outputs: readonly [{
                          name: "";
                          internalType: "contract ILoanManagerRegistry";
                          type: "address";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getMaxExtension";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getTimeForMainLenderToBuy";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getTriggerFee";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getValidLoanContracts";
                      outputs: readonly [{
                          name: "";
                          internalType: "address[]";
                          type: "address[]";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "_minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_originator";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "liquidateLoan";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                      name: "onERC721Received";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes4";
                          type: "bytes4";
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "owner";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_bid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "placeBid";
                      outputs: readonly [{
                          name: "";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "removeLoanContract";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "__timeForMainLenderToBuy";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "setTimeForMainLenderToBuy";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_loan";
                          internalType: "struct IMultiSourceLoan.Loan";
                          type: "tuple";
                          components: readonly [{
                              name: "borrower";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "nftCollateralTokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "nftCollateralAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "duration";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "tranche";
                              internalType: "struct IMultiSourceLoan.Tranche[]";
                              type: "tuple[]";
                              components: readonly [{
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "floor";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "lender";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "accruedInterest";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "aprBps";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }, {
                              name: "protocolFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }];
                      name: "settleAuction";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_loan";
                          internalType: "struct IMultiSourceLoan.Loan";
                          type: "tuple";
                          components: readonly [{
                              name: "borrower";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "nftCollateralTokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "nftCollateralAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "duration";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "tranche";
                              internalType: "struct IMultiSourceLoan.Tranche[]";
                              type: "tuple[]";
                              components: readonly [{
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "floor";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "lender";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "accruedInterest";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "aprBps";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }, {
                              name: "protocolFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }];
                      name: "settleWithBuyout";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "transferOwnership";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "__liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "updateLiquidationDistributor";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "updateTriggerFee";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }], {} | {}>
                  +
                  + +
                  safeContractWrite: {
                      transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                      addLoanContract: ((args, options?) => Promise<`0x${string}`>);
                      liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                      onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                      placeBid: ((args, options?) => Promise<`0x${string}`>);
                      removeLoanContract: ((args, options?) => Promise<`0x${string}`>);
                      settleAuction: ((args, options?) => Promise<`0x${string}`>);
                      updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
                      updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>);
                      setTimeForMainLenderToBuy: ((args, options?) => Promise<`0x${string}`>);
                      settleWithBuyout: ((args, options?) => Promise<`0x${string}`>);
                  }
                  +
                  +

                  Type declaration

                  +
                    +
                  • +
                    transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [`0x${string}`]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    addLoanContract: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [`0x${string}`]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [bigint, `0x${string}`, bigint, `0x${string}`, bigint, bigint, `0x${string}`]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    placeBid: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [`0x${string}`, bigint, {
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, bigint] | readonly [`0x${string}`, bigint, {
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, bigint] & readonly [`0x${string}`, bigint, {
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, bigint]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    removeLoanContract: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [`0x${string}`]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    settleAuction: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [{
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, {
                              borrower: `0x${string}`;
                              nftCollateralTokenId: bigint;
                              nftCollateralAddress: `0x${string}`;
                              principalAddress: `0x${string}`;
                              principalAmount: bigint;
                              startTime: bigint;
                              duration: bigint;
                              tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                              protocolFee: bigint;
                          }] | readonly [{
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, {
                              borrower: `0x${string}`;
                              nftCollateralTokenId: bigint;
                              nftCollateralAddress: `0x${string}`;
                              principalAddress: `0x${string}`;
                              principalAmount: bigint;
                              startTime: bigint;
                              duration: bigint;
                              tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                              protocolFee: bigint;
                          }] & readonly [{
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, {
                              borrower: `0x${string}`;
                              nftCollateralTokenId: bigint;
                              nftCollateralAddress: `0x${string}`;
                              principalAddress: `0x${string}`;
                              principalAmount: bigint;
                              startTime: bigint;
                              duration: bigint;
                              tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                              protocolFee: bigint;
                          }]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    updateTriggerFee: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [bigint]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [`0x${string}`]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    setTimeForMainLenderToBuy: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [bigint]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  • +
                  • +
                    settleWithBuyout: ((args, options?) => Promise<`0x${string}`>)
                    +
                      +
                    • +
                        +
                      • (args, options?): Promise<`0x${string}`>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          args: readonly [`0x${string}`, bigint, {
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, {
                              borrower: `0x${string}`;
                              nftCollateralTokenId: bigint;
                              nftCollateralAddress: `0x${string}`;
                              principalAddress: `0x${string}`;
                              principalAmount: bigint;
                              startTime: bigint;
                              duration: bigint;
                              tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                              protocolFee: bigint;
                          }] | readonly [`0x${string}`, bigint, {
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, {
                              borrower: `0x${string}`;
                              nftCollateralTokenId: bigint;
                              nftCollateralAddress: `0x${string}`;
                              principalAddress: `0x${string}`;
                              principalAmount: bigint;
                              startTime: bigint;
                              duration: bigint;
                              tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                              protocolFee: bigint;
                          }] & readonly [`0x${string}`, bigint, {
                              loanAddress: `0x${string}`;
                              loanId: bigint;
                              highestBid: bigint;
                              triggerFee: bigint;
                              minBid: bigint;
                              highestBidder: `0x${string}`;
                              duration: bigint;
                              asset: `0x${string}`;
                              startTime: bigint;
                              originator: `0x${string}`;
                              lastBidTime: bigint;
                          }, {
                              borrower: `0x${string}`;
                              nftCollateralTokenId: bigint;
                              nftCollateralAddress: `0x${string}`;
                              principalAddress: `0x${string}`;
                              principalAmount: bigint;
                              startTime: bigint;
                              duration: bigint;
                              tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                              protocolFee: bigint;
                          }]
                        • +
                        • +
                          Optional options: {
                              value?: bigint;
                          }
                          +
                            +
                          • +
                            Optional value?: bigint
                        +

                        Returns Promise<`0x${string}`>

                  +
                  + +
                  parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                      type: "constructor";
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "currencyManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "collectionManager";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "loanManagerRegistry";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "maxExtension";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "timeForMainLenderToBuy";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AddressZeroError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "AuctionAlreadyInProgressError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionNotOverError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_expiration";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      name: "AuctionOverError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CollectionNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CouldNotModifyValidLoansError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "CurrencyNotWhitelistedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "InvalidHashAuctionError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "InvalidInputError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "InvalidTriggerFee";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_loan";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "LoanNotAcceptedError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "MinBidError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "_owner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "NFTNotOwnedError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "NoBidsError";
                  }, {
                      type: "error";
                      inputs: readonly [];
                      name: "NotMainLenderError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "timeLimit";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "OptionToBuyExpiredError";
                  }, {
                      type: "error";
                      inputs: readonly [{
                          name: "timeLimit";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "OptionToBuyStilValidError";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loanContract";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "asset";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "proceeds";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "settler";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "AuctionSettled";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "nftAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "largestTrancheIdx";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "AuctionSettledWithBuyout";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "newBidder";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "bid";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "loanAddress";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "loanId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "BidPlaced";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "liquidationDistributor";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LiquidationDistributorUpdated";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractAdded";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "loan";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }];
                      name: "LoanContractRemoved";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "collection";
                          internalType: "address";
                          type: "address";
                          indexed: false;
                      }, {
                          name: "tokenId";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }, {
                          name: "auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          indexed: false;
                      }];
                      name: "LoanLiquidationStarted";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "user";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }, {
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                          indexed: true;
                      }];
                      name: "OwnershipTransferred";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "timeForMainLenderToBuy";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "TimeForMainLenderToBuyUpdated";
                  }, {
                      type: "event";
                      anonymous: false;
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                          indexed: false;
                      }];
                      name: "TriggerFeeUpdated";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "MAX_TRIGGER_FEE";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "MIN_INCREMENT_BPS";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "addLoanContract";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "getAuctionHash";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes32";
                          type: "bytes32";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getLiquidationDistributor";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getLoanManagerRegistry";
                      outputs: readonly [{
                          name: "";
                          internalType: "contract ILoanManagerRegistry";
                          type: "address";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getMaxExtension";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint96";
                          type: "uint96";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getTimeForMainLenderToBuy";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getTriggerFee";
                      outputs: readonly [{
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "getValidLoanContracts";
                      outputs: readonly [{
                          name: "";
                          internalType: "address[]";
                          type: "address[]";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_loanId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_asset";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_duration";
                          internalType: "uint96";
                          type: "uint96";
                      }, {
                          name: "_minBid";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_originator";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "liquidateLoan";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "";
                          internalType: "bytes";
                          type: "bytes";
                      }];
                      name: "onERC721Received";
                      outputs: readonly [{
                          name: "";
                          internalType: "bytes4";
                          type: "bytes4";
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [];
                      name: "owner";
                      outputs: readonly [{
                          name: "";
                          internalType: "address";
                          type: "address";
                      }];
                      stateMutability: "view";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_bid";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "placeBid";
                      outputs: readonly [{
                          name: "";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_loanContract";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "removeLoanContract";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "__timeForMainLenderToBuy";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "setTimeForMainLenderToBuy";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_loan";
                          internalType: "struct IMultiSourceLoan.Loan";
                          type: "tuple";
                          components: readonly [{
                              name: "borrower";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "nftCollateralTokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "nftCollateralAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "duration";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "tranche";
                              internalType: "struct IMultiSourceLoan.Tranche[]";
                              type: "tuple[]";
                              components: readonly [{
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "floor";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "lender";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "accruedInterest";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "aprBps";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }, {
                              name: "protocolFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }];
                      name: "settleAuction";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "_nftAddress";
                          internalType: "address";
                          type: "address";
                      }, {
                          name: "_tokenId";
                          internalType: "uint256";
                          type: "uint256";
                      }, {
                          name: "_auction";
                          internalType: "struct IAuctionLoanLiquidator.Auction";
                          type: "tuple";
                          components: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "highestBidder";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "startTime";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "originator";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "lastBidTime";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                      }, {
                          name: "_loan";
                          internalType: "struct IMultiSourceLoan.Loan";
                          type: "tuple";
                          components: readonly [{
                              name: "borrower";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "nftCollateralTokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "nftCollateralAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "principalAmount";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "startTime";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "duration";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "tranche";
                              internalType: "struct IMultiSourceLoan.Tranche[]";
                              type: "tuple[]";
                              components: readonly [{
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "floor";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "lender";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "accruedInterest";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "aprBps";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }, {
                              name: "protocolFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                      }];
                      name: "settleWithBuyout";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "newOwner";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "transferOwnership";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "__liquidationDistributor";
                          internalType: "address";
                          type: "address";
                      }];
                      name: "updateLiquidationDistributor";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }, {
                      type: "function";
                      inputs: readonly [{
                          name: "triggerFee";
                          internalType: "uint256";
                          type: "uint256";
                      }];
                      name: "updateTriggerFee";
                      outputs: readonly [];
                      stateMutability: "nonpayable";
                  }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
                      ? TFunctionName[number]
                      : TFunctionName>)
                  +
                  +

                  Type declaration

                  +
                    +
                  • +
                      +
                    • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                          type: "constructor";
                          inputs: readonly [{
                              name: "liquidationDistributor";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "currencyManager";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "collectionManager";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanManagerRegistry";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "maxExtension";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "timeForMainLenderToBuy";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "AddressZeroError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "AuctionAlreadyInProgressError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_expiration";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          name: "AuctionNotOverError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_expiration";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          name: "AuctionOverError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "CollectionNotWhitelistedError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "CouldNotModifyValidLoansError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "CurrencyNotWhitelistedError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "InvalidHashAuctionError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "InvalidInputError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "InvalidTriggerFee";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_loan";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "LoanNotAcceptedError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "MinBidError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_owner";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "NFTNotOwnedError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "NoBidsError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "NotMainLenderError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "timeLimit";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "OptionToBuyExpiredError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "timeLimit";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "OptionToBuyStilValidError";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loanContract";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "collection";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "proceeds";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "settler";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "AuctionSettled";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "nftAddress";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "largestTrancheIdx";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "AuctionSettledWithBuyout";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "collection";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "newBidder";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "bid";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "BidPlaced";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "liquidationDistributor";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }];
                          name: "LiquidationDistributorUpdated";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loan";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }];
                          name: "LoanContractAdded";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loan";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }];
                          name: "LoanContractRemoved";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "collection";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                              indexed: false;
                          }];
                          name: "LoanLiquidationStarted";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "user";
                              internalType: "address";
                              type: "address";
                              indexed: true;
                          }, {
                              name: "newOwner";
                              internalType: "address";
                              type: "address";
                              indexed: true;
                          }];
                          name: "OwnershipTransferred";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "timeForMainLenderToBuy";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "TimeForMainLenderToBuyUpdated";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "TriggerFeeUpdated";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "MAX_TRIGGER_FEE";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "MIN_INCREMENT_BPS";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_loanContract";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "addLoanContract";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "getAuctionHash";
                          outputs: readonly [{
                              name: "";
                              internalType: "bytes32";
                              type: "bytes32";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getLiquidationDistributor";
                          outputs: readonly [{
                              name: "";
                              internalType: "address";
                              type: "address";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getLoanManagerRegistry";
                          outputs: readonly [{
                              name: "";
                              internalType: "contract ILoanManagerRegistry";
                              type: "address";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getMaxExtension";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getTimeForMainLenderToBuy";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getTriggerFee";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getValidLoanContracts";
                          outputs: readonly [{
                              name: "";
                              internalType: "address[]";
                              type: "address[]";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "_minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_originator";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "liquidateLoan";
                          outputs: readonly [{
                              name: "";
                              internalType: "bytes";
                              type: "bytes";
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "";
                              internalType: "bytes";
                              type: "bytes";
                          }];
                          name: "onERC721Received";
                          outputs: readonly [{
                              name: "";
                              internalType: "bytes4";
                              type: "bytes4";
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "owner";
                          outputs: readonly [{
                              name: "";
                              internalType: "address";
                              type: "address";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }, {
                              name: "_bid";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "placeBid";
                          outputs: readonly [{
                              name: "";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_loanContract";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "removeLoanContract";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "__timeForMainLenderToBuy";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "setTimeForMainLenderToBuy";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }, {
                              name: "_loan";
                              internalType: "struct IMultiSourceLoan.Loan";
                              type: "tuple";
                              components: readonly [{
                                  name: "borrower";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "nftCollateralTokenId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "nftCollateralAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "duration";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "tranche";
                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                  type: "tuple[]";
                                  components: readonly [{
                                      name: "loanId";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "floor";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "principalAmount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "lender";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "accruedInterest";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "startTime";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "aprBps";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  name: "protocolFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }];
                          name: "settleAuction";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }, {
                              name: "_loan";
                              internalType: "struct IMultiSourceLoan.Loan";
                              type: "tuple";
                              components: readonly [{
                                  name: "borrower";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "nftCollateralTokenId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "nftCollateralAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "duration";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "tranche";
                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                  type: "tuple[]";
                                  components: readonly [{
                                      name: "loanId";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "floor";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "principalAmount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "lender";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "accruedInterest";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "startTime";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "aprBps";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  name: "protocolFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }];
                          name: "settleWithBuyout";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "newOwner";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "transferOwnership";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "__liquidationDistributor";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "updateLiquidationDistributor";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "updateTriggerFee";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
                          ? TFunctionName[number]
                          : TFunctionName>
                    • +
                    • +
                      +

                      Type Parameters

                      +
                        +
                      • +

                        TFunctionName extends "OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated"

                      +
                      +

                      Parameters

                      +
                        +
                      • +
                        eventName: TFunctionName
                      • +
                      • +
                        logs: Log<bigint, number, false>[]
                      +

                      Returns ParseEventLogsReturnType<readonly [{
                          type: "constructor";
                          inputs: readonly [{
                              name: "liquidationDistributor";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "currencyManager";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "collectionManager";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "loanManagerRegistry";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "maxExtension";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "timeForMainLenderToBuy";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "AddressZeroError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "AuctionAlreadyInProgressError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_expiration";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          name: "AuctionNotOverError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_expiration";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          name: "AuctionOverError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "CollectionNotWhitelistedError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "CouldNotModifyValidLoansError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "CurrencyNotWhitelistedError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "InvalidHashAuctionError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "InvalidInputError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "InvalidTriggerFee";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_loan";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "LoanNotAcceptedError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "MinBidError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "_owner";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "NFTNotOwnedError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "NoBidsError";
                      }, {
                          type: "error";
                          inputs: readonly [];
                          name: "NotMainLenderError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "timeLimit";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "OptionToBuyExpiredError";
                      }, {
                          type: "error";
                          inputs: readonly [{
                              name: "timeLimit";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "OptionToBuyStilValidError";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loanContract";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "collection";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "asset";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "proceeds";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "settler";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "AuctionSettled";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "nftAddress";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "largestTrancheIdx";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "AuctionSettledWithBuyout";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "collection";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "newBidder";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "bid";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "loanAddress";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "loanId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "BidPlaced";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "liquidationDistributor";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }];
                          name: "LiquidationDistributorUpdated";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loan";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }];
                          name: "LoanContractAdded";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "loan";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }];
                          name: "LoanContractRemoved";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "collection";
                              internalType: "address";
                              type: "address";
                              indexed: false;
                          }, {
                              name: "tokenId";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }, {
                              name: "auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                              indexed: false;
                          }];
                          name: "LoanLiquidationStarted";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "user";
                              internalType: "address";
                              type: "address";
                              indexed: true;
                          }, {
                              name: "newOwner";
                              internalType: "address";
                              type: "address";
                              indexed: true;
                          }];
                          name: "OwnershipTransferred";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "timeForMainLenderToBuy";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "TimeForMainLenderToBuyUpdated";
                      }, {
                          type: "event";
                          anonymous: false;
                          inputs: readonly [{
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                              indexed: false;
                          }];
                          name: "TriggerFeeUpdated";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "MAX_TRIGGER_FEE";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "MIN_INCREMENT_BPS";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_loanContract";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "addLoanContract";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "getAuctionHash";
                          outputs: readonly [{
                              name: "";
                              internalType: "bytes32";
                              type: "bytes32";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getLiquidationDistributor";
                          outputs: readonly [{
                              name: "";
                              internalType: "address";
                              type: "address";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getLoanManagerRegistry";
                          outputs: readonly [{
                              name: "";
                              internalType: "contract ILoanManagerRegistry";
                              type: "address";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getMaxExtension";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint96";
                              type: "uint96";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getTimeForMainLenderToBuy";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getTriggerFee";
                          outputs: readonly [{
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "getValidLoanContracts";
                          outputs: readonly [{
                              name: "";
                              internalType: "address[]";
                              type: "address[]";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_loanId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_asset";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_duration";
                              internalType: "uint96";
                              type: "uint96";
                          }, {
                              name: "_minBid";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_originator";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "liquidateLoan";
                          outputs: readonly [{
                              name: "";
                              internalType: "bytes";
                              type: "bytes";
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "";
                              internalType: "bytes";
                              type: "bytes";
                          }];
                          name: "onERC721Received";
                          outputs: readonly [{
                              name: "";
                              internalType: "bytes4";
                              type: "bytes4";
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [];
                          name: "owner";
                          outputs: readonly [{
                              name: "";
                              internalType: "address";
                              type: "address";
                          }];
                          stateMutability: "view";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }, {
                              name: "_bid";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "placeBid";
                          outputs: readonly [{
                              name: "";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_loanContract";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "removeLoanContract";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "__timeForMainLenderToBuy";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "setTimeForMainLenderToBuy";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }, {
                              name: "_loan";
                              internalType: "struct IMultiSourceLoan.Loan";
                              type: "tuple";
                              components: readonly [{
                                  name: "borrower";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "nftCollateralTokenId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "nftCollateralAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "duration";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "tranche";
                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                  type: "tuple[]";
                                  components: readonly [{
                                      name: "loanId";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "floor";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "principalAmount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "lender";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "accruedInterest";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "startTime";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "aprBps";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  name: "protocolFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }];
                          name: "settleAuction";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "_nftAddress";
                              internalType: "address";
                              type: "address";
                          }, {
                              name: "_tokenId";
                              internalType: "uint256";
                              type: "uint256";
                          }, {
                              name: "_auction";
                              internalType: "struct IAuctionLoanLiquidator.Auction";
                              type: "tuple";
                              components: readonly [{
                                  name: "loanAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "loanId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "triggerFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "minBid";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "highestBidder";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "duration";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "asset";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "startTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }, {
                                  name: "originator";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "lastBidTime";
                                  internalType: "uint96";
                                  type: "uint96";
                              }];
                          }, {
                              name: "_loan";
                              internalType: "struct IMultiSourceLoan.Loan";
                              type: "tuple";
                              components: readonly [{
                                  name: "borrower";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "nftCollateralTokenId";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "nftCollateralAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAddress";
                                  internalType: "address";
                                  type: "address";
                              }, {
                                  name: "principalAmount";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "startTime";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "duration";
                                  internalType: "uint256";
                                  type: "uint256";
                              }, {
                                  name: "tranche";
                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                  type: "tuple[]";
                                  components: readonly [{
                                      name: "loanId";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "floor";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "principalAmount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "lender";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "accruedInterest";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "startTime";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "aprBps";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  name: "protocolFee";
                                  internalType: "uint256";
                                  type: "uint256";
                              }];
                          }];
                          name: "settleWithBuyout";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "newOwner";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "transferOwnership";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "__liquidationDistributor";
                              internalType: "address";
                              type: "address";
                          }];
                          name: "updateLiquidationDistributor";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }, {
                          type: "function";
                          inputs: readonly [{
                              name: "triggerFee";
                              internalType: "uint256";
                              type: "uint256";
                          }];
                          name: "updateTriggerFee";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
                          ? TFunctionName[number]
                          : TFunctionName>

                  +
                  + +
                  +
                  \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.Api.html b/docs/0.15.0b2/classes/Internal.Api.html new file mode 100644 index 00000000..f8d4c93a --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.Api.html @@ -0,0 +1,1139 @@ +Api | Gondi JS SDK - v0.15.0b2
                  +
                  + +
                  +
                  +
                  +
                  + +

                  Class Api

                  +
                  +

                  Hierarchy

                  +
                    +
                  • Api
                  +
                  +
                  +
                  + +
                  +
                  +

                  Constructors

                  +
                  + +
                  +
                  +

                  Methods

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                    +

                    Returns Promise<{
                        aprBps: bigint;
                        borrowerAddress: `0x${string}`;
                        capacity: bigint;
                        contractAddress: `0x${string}`;
                        duration: bigint;
                        expirationTime: bigint;
                        fee: bigint;
                        lenderAddress: `0x${string}`;
                        maxSeniorRepayment?: InputMaybe<bigint>;
                        maxTrancheFloor?: InputMaybe<bigint>;
                        nftId: number;
                        offerHash: `0x${string}`;
                        offerId: bigint;
                        offerValidators: OfferValidatorInput[];
                        principalAddress: `0x${string}`;
                        principalAmount: bigint;
                        requiresLiquidation?: InputMaybe<boolean>;
                        signature: `0x${string}`;
                        signerAddress?: InputMaybe<`0x${string}`>;
                        id: string;
                        nftCollateralAddress: `0x${string}`;
                        nftCollateralTokenId: bigint;
                    }>

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                    +

                    Returns Promise<{
                        __typename?: "SignatureRequest";
                        key: string;
                        typedData: {
                            __typename?: "TypedData";
                            types: object;
                            primaryType: string;
                            domain: object;
                            message: object;
                        };
                    } | {
                        __typename?: "SingleNFTOrder";
                        id: string;
                        status: string;
                        signature: `0x${string}`;
                        repaymentCalldata: `0x${string}`;
                    }>

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                    +

                    Returns Promise<{
                        aprBps: bigint;
                        borrowerAddress: `0x${string}`;
                        capacity: bigint;
                        collectionId: number;
                        contractAddress: `0x${string}`;
                        duration: bigint;
                        expirationTime: bigint;
                        fee: bigint;
                        lenderAddress: `0x${string}`;
                        maxSeniorRepayment?: InputMaybe<bigint>;
                        maxTrancheFloor?: InputMaybe<bigint>;
                        offerHash: `0x${string}`;
                        offerId: bigint;
                        offerValidators: OfferValidatorInput[];
                        principalAddress: `0x${string}`;
                        principalAmount: bigint;
                        requiresLiquidation?: InputMaybe<boolean>;
                        signature: `0x${string}`;
                        signerAddress?: InputMaybe<`0x${string}`>;
                        id: string;
                        nftCollateralAddress: `0x${string}`;
                        nftCollateralTokenId: bigint;
                    }>

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                    +

                    Returns Promise<{
                        loanId: string;
                        duration: bigint;
                        principalAmount: bigint;
                        renegotiationId: bigint;
                        requiresLiquidation?: InputMaybe<boolean>;
                        aprBps: bigint;
                        expirationTime: bigint;
                        targetPrincipal?: InputMaybe<bigint[]>;
                        strictImprovement?: InputMaybe<boolean>;
                        trancheIndex?: InputMaybe<bigint[]>;
                        lenderAddress: `0x${string}`;
                        signerAddress?: InputMaybe<`0x${string}`>;
                        offerHash: `0x${string}`;
                        feeAmount: bigint;
                        isAddNewTranche?: InputMaybe<boolean>;
                        signature: `0x${string}`;
                        id: string;
                    }>

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                    +

                    Returns Promise<{
                        offers: ({
                            type: undefined | "CollectionOffer" | "SingleNFTOffer";
                            lender: undefined | null | `0x${string}`;
                            borrower: undefined | null | `0x${string}`;
                            signer: undefined | null | `0x${string}`;
                            offerValidators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[] | {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                            nftCollateralAddress: `0x${string}`;
                            nftCollateralTokenId: bigint;
                            id: string;
                            offerId: bigint;
                            lenderAddress?: null | `0x${string}`;
                            borrowerAddress?: null | `0x${string}`;
                            signerAddress?: null | `0x${string}`;
                            contractAddress: `0x${string}`;
                            requiresLiquidation?: null | boolean;
                            principalAddress: `0x${string}`;
                            principalAmount: bigint;
                            aprBps: bigint;
                            fee: bigint;
                            capacity: bigint;
                            expirationTime: bigint;
                            duration: bigint;
                            status: string;
                            offerHash?: null | `0x${string}`;
                            signature?: null | `0x${string}`;
                            createdDate?: null | Date;
                            repayment: bigint;
                            hidden?: null | boolean;
                            maxSeniorRepayment: bigint;
                            collection: {
                                __typename?: "Collection";
                                id: string;
                                slug: string;
                                contractData: {
                                    __typename?: "ContractData";
                                    contractAddress: `0x${string}`;
                                };
                            };
                            currency: {
                                __typename?: "Currency";
                                symbol: string;
                                decimals: number;
                                address: `0x${string}`;
                            };
                            validators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                        } | {
                            type: undefined | "CollectionOffer" | "SingleNFTOffer";
                            lender: undefined | null | `0x${string}`;
                            borrower: undefined | null | `0x${string}`;
                            signer: undefined | null | `0x${string}`;
                            offerValidators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[] | {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                            nftCollateralAddress: `0x${string}`;
                            nftCollateralTokenId: bigint;
                            id: string;
                            offerId: bigint;
                            lenderAddress?: null | `0x${string}`;
                            borrowerAddress?: null | `0x${string}`;
                            signerAddress?: null | `0x${string}`;
                            contractAddress: `0x${string}`;
                            requiresLiquidation?: null | boolean;
                            principalAddress: `0x${string}`;
                            principalAmount: bigint;
                            aprBps: bigint;
                            fee: bigint;
                            capacity: bigint;
                            expirationTime: bigint;
                            duration: bigint;
                            status: string;
                            offerHash?: null | `0x${string}`;
                            signature?: null | `0x${string}`;
                            createdDate?: null | Date;
                            repayment: bigint;
                            hidden?: null | boolean;
                            maxSeniorRepayment: bigint;
                            nft: {
                                __typename?: "NFT";
                                id: string;
                                tokenId: bigint;
                                collection?: null | {
                                    __typename?: "Collection";
                                    id: string;
                                    slug: string;
                                    contractData: {
                                        __typename?: "ContractData";
                                        contractAddress: `0x${string}`;
                                    };
                                };
                            };
                            currency: {
                                __typename?: "Currency";
                                symbol: string;
                                decimals: number;
                                address: `0x${string}`;
                            };
                            validators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                        })[];
                        hasNextPage: true;
                        cursor: string;
                    } | {
                        offers: ({
                            type: undefined | "CollectionOffer" | "SingleNFTOffer";
                            lender: undefined | null | `0x${string}`;
                            borrower: undefined | null | `0x${string}`;
                            signer: undefined | null | `0x${string}`;
                            offerValidators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[] | {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                            nftCollateralAddress: `0x${string}`;
                            nftCollateralTokenId: bigint;
                            id: string;
                            offerId: bigint;
                            lenderAddress?: null | `0x${string}`;
                            borrowerAddress?: null | `0x${string}`;
                            signerAddress?: null | `0x${string}`;
                            contractAddress: `0x${string}`;
                            requiresLiquidation?: null | boolean;
                            principalAddress: `0x${string}`;
                            principalAmount: bigint;
                            aprBps: bigint;
                            fee: bigint;
                            capacity: bigint;
                            expirationTime: bigint;
                            duration: bigint;
                            status: string;
                            offerHash?: null | `0x${string}`;
                            signature?: null | `0x${string}`;
                            createdDate?: null | Date;
                            repayment: bigint;
                            hidden?: null | boolean;
                            maxSeniorRepayment: bigint;
                            collection: {
                                __typename?: "Collection";
                                id: string;
                                slug: string;
                                contractData: {
                                    __typename?: "ContractData";
                                    contractAddress: `0x${string}`;
                                };
                            };
                            currency: {
                                __typename?: "Currency";
                                symbol: string;
                                decimals: number;
                                address: `0x${string}`;
                            };
                            validators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                        } | {
                            type: undefined | "CollectionOffer" | "SingleNFTOffer";
                            lender: undefined | null | `0x${string}`;
                            borrower: undefined | null | `0x${string}`;
                            signer: undefined | null | `0x${string}`;
                            offerValidators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[] | {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                            nftCollateralAddress: `0x${string}`;
                            nftCollateralTokenId: bigint;
                            id: string;
                            offerId: bigint;
                            lenderAddress?: null | `0x${string}`;
                            borrowerAddress?: null | `0x${string}`;
                            signerAddress?: null | `0x${string}`;
                            contractAddress: `0x${string}`;
                            requiresLiquidation?: null | boolean;
                            principalAddress: `0x${string}`;
                            principalAmount: bigint;
                            aprBps: bigint;
                            fee: bigint;
                            capacity: bigint;
                            expirationTime: bigint;
                            duration: bigint;
                            status: string;
                            offerHash?: null | `0x${string}`;
                            signature?: null | `0x${string}`;
                            createdDate?: null | Date;
                            repayment: bigint;
                            hidden?: null | boolean;
                            maxSeniorRepayment: bigint;
                            nft: {
                                __typename?: "NFT";
                                id: string;
                                tokenId: bigint;
                                collection?: null | {
                                    __typename?: "Collection";
                                    id: string;
                                    slug: string;
                                    contractData: {
                                        __typename?: "ContractData";
                                        contractAddress: `0x${string}`;
                                    };
                                };
                            };
                            currency: {
                                __typename?: "Currency";
                                symbol: string;
                                decimals: number;
                                address: `0x${string}`;
                            };
                            validators: {
                                __typename?: "OfferValidator";
                                arguments: `0x${string}`;
                                validator: `0x${string}`;
                            }[];
                        })[];
                        hasNextPage: false;
                        cursor: null;
                    }>

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                    +

                    Returns Promise<{
                        loans: {
                            type: undefined | "MultiSourceLoan";
                            contractAddress: `0x${string}`;
                            nftCollateralTokenId: bigint;
                            nftCollateralAddress: undefined | `0x${string}`;
                            borrower: `0x${string}`;
                            startTime: bigint;
                            source: {
                                lender: `0x${string}`;
                                loanId: bigint;
                                startTime: bigint;
                                __typename?: "Source";
                                id: string;
                                originationFee: bigint;
                                principalAmount: bigint;
                                lenderAddress: string;
                                accruedInterest: bigint;
                                aprBps: bigint;
                            }[];
                            id: string;
                            address: `0x${string}`;
                            loanId: number;
                            timestamp: Date;
                            txHash: `0x${string}`;
                            indexInBlock: number;
                            borrowerAddress: `0x${string}`;
                            principalAddress: `0x${string}`;
                            duration: bigint;
                            status: string;
                            principalAmount: bigint;
                            blendedAprBps: number;
                            totalOriginationFee: bigint;
                            protocolFee: bigint;
                            offer: {
                                __typename?: "CollectionOffer";
                                offerId: bigint;
                                signerAddress?: null | `0x${string}`;
                            } | {
                                __typename?: "SingleNFTOffer";
                                offerId: bigint;
                                signerAddress?: null | `0x${string}`;
                            };
                            currency: {
                                __typename?: "Currency";
                                symbol: string;
                                decimals: number;
                                address: `0x${string}`;
                            };
                            repaidActivity?: null | {
                                __typename?: "LoanRepaid";
                                totalInterest: bigint;
                                timestamp: Date;
                            };
                            nft: {
                                __typename?: "NFT";
                                id: string;
                                name?: null | string;
                                tokenId: bigint;
                                nftId: string;
                                owner?: null | `0x${string}`;
                                image?: null | {
                                    __typename?: "Asset";
                                    data: string;
                                    cacheUrl?: null | string;
                                    contentTypeMime: string;
                                    accessTypeName: string;
                                };
                                collection?: null | {
                                    __typename?: "Collection";
                                    id: string;
                                    slug: string;
                                    name?: null | string;
                                    nftsCount?: null | number;
                                    contractData: {
                                        __typename?: "ContractData";
                                        contractAddress: `0x${string}`;
                                    };
                                };
                            };
                            sources: {
                                __typename?: "Source";
                                id: string;
                                loanId: string;
                                originationFee: bigint;
                                principalAmount: bigint;
                                lenderAddress: string;
                                accruedInterest: bigint;
                                aprBps: bigint;
                                startTime: Date;
                            }[];
                        }[];
                        hasNextPage: true;
                        cursor: string;
                    } | {
                        loans: {
                            type: undefined | "MultiSourceLoan";
                            contractAddress: `0x${string}`;
                            nftCollateralTokenId: bigint;
                            nftCollateralAddress: undefined | `0x${string}`;
                            borrower: `0x${string}`;
                            startTime: bigint;
                            source: {
                                lender: `0x${string}`;
                                loanId: bigint;
                                startTime: bigint;
                                __typename?: "Source";
                                id: string;
                                originationFee: bigint;
                                principalAmount: bigint;
                                lenderAddress: string;
                                accruedInterest: bigint;
                                aprBps: bigint;
                            }[];
                            id: string;
                            address: `0x${string}`;
                            loanId: number;
                            timestamp: Date;
                            txHash: `0x${string}`;
                            indexInBlock: number;
                            borrowerAddress: `0x${string}`;
                            principalAddress: `0x${string}`;
                            duration: bigint;
                            status: string;
                            principalAmount: bigint;
                            blendedAprBps: number;
                            totalOriginationFee: bigint;
                            protocolFee: bigint;
                            offer: {
                                __typename?: "CollectionOffer";
                                offerId: bigint;
                                signerAddress?: null | `0x${string}`;
                            } | {
                                __typename?: "SingleNFTOffer";
                                offerId: bigint;
                                signerAddress?: null | `0x${string}`;
                            };
                            currency: {
                                __typename?: "Currency";
                                symbol: string;
                                decimals: number;
                                address: `0x${string}`;
                            };
                            repaidActivity?: null | {
                                __typename?: "LoanRepaid";
                                totalInterest: bigint;
                                timestamp: Date;
                            };
                            nft: {
                                __typename?: "NFT";
                                id: string;
                                name?: null | string;
                                tokenId: bigint;
                                nftId: string;
                                owner?: null | `0x${string}`;
                                image?: null | {
                                    __typename?: "Asset";
                                    data: string;
                                    cacheUrl?: null | string;
                                    contentTypeMime: string;
                                    accessTypeName: string;
                                };
                                collection?: null | {
                                    __typename?: "Collection";
                                    id: string;
                                    slug: string;
                                    name?: null | string;
                                    nftsCount?: null | number;
                                    contractData: {
                                        __typename?: "ContractData";
                                        contractAddress: `0x${string}`;
                                    };
                                };
                            };
                            sources: {
                                __typename?: "Source";
                                id: string;
                                loanId: string;
                                originationFee: bigint;
                                principalAmount: bigint;
                                lenderAddress: string;
                                accruedInterest: bigint;
                                aprBps: bigint;
                                startTime: Date;
                            }[];
                        }[];
                        hasNextPage: false;
                        cursor: null;
                    }>

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                    +

                    Returns Promise<{
                        listings: {
                            __typename?: "Listing";
                            id: string;
                            marketplaceName: MarketplaceEnum;
                            createdDate: Date;
                            desiredDuration?: null | number;
                            desiredPrincipalAddress?: null | `0x${string}`;
                            user: {
                                __typename?: "User";
                                walletAddress: `0x${string}`;
                            };
                            nft: {
                                __typename?: "NFT";
                                id: string;
                                tokenId: bigint;
                                collection?: null | {
                                    __typename?: "Collection";
                                    id: string;
                                    slug: string;
                                    contractData: {
                                        __typename?: "ContractData";
                                        contractAddress: `0x${string}`;
                                    };
                                };
                            };
                        }[];
                        hasNextPage: true;
                        cursor: string;
                    } | {
                        listings: {
                            __typename?: "Listing";
                            id: string;
                            marketplaceName: MarketplaceEnum;
                            createdDate: Date;
                            desiredDuration?: null | number;
                            desiredPrincipalAddress?: null | `0x${string}`;
                            user: {
                                __typename?: "User";
                                walletAddress: `0x${string}`;
                            };
                            nft: {
                                __typename?: "NFT";
                                id: string;
                                tokenId: bigint;
                                collection?: null | {
                                    __typename?: "Collection";
                                    id: string;
                                    slug: string;
                                    contractData: {
                                        __typename?: "ContractData";
                                        contractAddress: `0x${string}`;
                                    };
                                };
                            };
                        }[];
                        hasNextPage: false;
                        cursor: null;
                    }>

                  +
                  + +
                    + +
                  • +
                    +

                    Parameters

                    +
                      +
                    • +
                      collection: {
                          contractData: {
                              contractAddress: `0x${string}`;
                          };
                          wrapperCollections?: {
                              contractData: {
                                  contractAddress: `0x${string}`;
                              };
                          }[];
                      }
                      +
                        +
                      • +
                        contractData: {
                            contractAddress: `0x${string}`;
                        }
                        +
                          +
                        • +
                          contractAddress: `0x${string}`
                      • +
                      • +
                        Optional wrapperCollections?: {
                            contractData: {
                                contractAddress: `0x${string}`;
                            };
                        }[]
                    +

                    Returns Promise<`0x${string}`>

                  +
                  +

                  Properties

                  +
                  + +
                  api: {
                      listNft(variables, options?) => Promise<ListNftMutation>;
                      unlistNft(variables, options?) => Promise<UnlistNftMutation>;
                      generateCollectionOfferHash(variables, options?) => Promise<GenerateCollectionOfferHashMutation>;
                      saveCollectionOffer(variables, options?) => Promise<SaveCollectionOfferMutation>;
                      hideOffer(variables, options?) => Promise<HideOfferMutation>;
                      generateSingleNftOfferHash(variables, options?) => Promise<GenerateSingleNftOfferHashMutation>;
                      saveSingleNftOffer(variables, options?) => Promise<SaveSingleNftOfferMutation>;
                      unhideOffer(variables, options?) => Promise<UnhideOfferMutation>;
                      generateRenegotiationOfferHash(variables, options?) => Promise<GenerateRenegotiationOfferHashMutation>;
                      hideRenegotiationOffer(variables, options?) => Promise<HideRenegotiationOfferMutation>;
                      saveRenegotiationOffer(variables, options?) => Promise<SaveRenegotiationOfferMutation>;
                      unhideRenegotiationOffer(variables, options?) => Promise<UnhideRenegotiationOfferMutation>;
                      hideOrder(variables, options?) => Promise<HideOrderMutation>;
                      publishOrder(variables, options?) => Promise<PublishOrderMutation>;
                      unhideOrder(variables, options?) => Promise<UnhideOrderMutation>;
                      collections(variables, options?) => Promise<CollectionsQuery>;
                      collectionByContractAddress(variables, options?) => Promise<CollectionByContractAddressQuery>;
                      collectionsIdByContractAddress(variables, options?) => Promise<CollectionsIdByContractAddressQuery>;
                      collectionIdBySlug(variables, options?) => Promise<CollectionIdBySlugQuery>;
                      listListings(variables?, options?) => Promise<ListListingsQuery>;
                      listLoans(variables?, options?) => Promise<ListLoansQuery>;
                      nftIdByContractAddressAndTokenId(variables, options?) => Promise<NftIdByContractAddressAndTokenIdQuery>;
                      nftIdBySlugTokenId(variables, options?) => Promise<NftIdBySlugTokenIdQuery>;
                      ownedNfts(variables?, options?) => Promise<OwnedNftsQuery>;
                      listOffers(variables, options?) => Promise<ListOffersQuery>;
                  }
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  generateSingleNftOfferHash: ((variables, options?) => Promise<GenerateSingleNftOfferHashMutation>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  generateCollectionOfferHash: ((variables, options?) => Promise<GenerateCollectionOfferHashMutation>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  generateRenegotiationOfferHash: ((variables, options?) => Promise<GenerateRenegotiationOfferHashMutation>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  nftIdBySlugTokenId: ((variables, options?) => Promise<NftIdBySlugTokenIdQuery>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  nftIdByContractAddressAndTokenId: ((variables, options?) => Promise<NftIdByContractAddressAndTokenIdQuery>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  collections: ((variables, options?) => Promise<CollectionsQuery>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  collectionIdBySlug: ((variables, options?) => Promise<CollectionIdBySlugQuery>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  collectionsIdByContractAddress: ((variables, options?) => Promise<CollectionsIdByContractAddressQuery>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  collectionByContractAddress: ((variables, options?) => Promise<CollectionByContractAddressQuery>)
                  +
                  +

                  Type declaration

                  +
                  +
                  + +
                  listNft: ((variables, options?) => Promise<ListNftMutation>)
                  +
                  +

                  Type declaration

                  +
                    +
                  • +
                      +
                    • (variables, options?): Promise<ListNftMutation>
                    • +
                    • +
                      +

                      Parameters

                      +
                        +
                      • +
                        variables: Exact<{
                            nftId: number;
                        }>
                      • +
                      • +
                        Optional options: {}
                        +
                        +

                        Returns Promise<ListNftMutation>

                    +
                    + +
                    unlistNft: ((variables, options?) => Promise<UnlistNftMutation>)
                    +
                    +

                    Type declaration

                    +
                    +
                    + +
                    ownedNfts: ((variables?, options?) => Promise<OwnedNftsQuery>)
                    +
                    +

                    Type declaration

                    +
                    +
                    + +
                    hideOffer: ((variables, options?) => Promise<HideOfferMutation>)
                    +
                    +

                    Type declaration

                    +
                      +
                    • +
                        +
                      • (variables, options?): Promise<HideOfferMutation>
                      • +
                      • +
                        +

                        Parameters

                        +
                          +
                        • +
                          variables: Exact<{
                              contract: `0x${string}`;
                              id: string;
                          }>
                        • +
                        • +
                          Optional options: {}
                          +
                          +

                          Returns Promise<HideOfferMutation>

                      +
                      + +
                      hideRenegotiationOffer: ((variables, options?) => Promise<HideRenegotiationOfferMutation>)
                      +
                      +

                      Type declaration

                      +
                      +
                      + +
                      unhideOffer: ((variables, options?) => Promise<UnhideOfferMutation>)
                      +
                      +

                      Type declaration

                      +
                        +
                      • +
                      +
                      + +
                      unhideRenegotiationOffer: ((variables, options?) => Promise<UnhideRenegotiationOfferMutation>)
                      +
                      +

                      Type declaration

                      +
                      +
                      + +
                      hideOrder: ((variables, options?) => Promise<HideOrderMutation>)
                      +
                      +

                      Type declaration

                      +
                      +
                      + +
                      unhideOrder: ((variables, options?) => Promise<UnhideOrderMutation>)
                      +
                      +

                      Type declaration

                      +
                      +
                      + +
                      +
                      \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.BaseContract.html b/docs/0.15.0b2/classes/Internal.BaseContract.html new file mode 100644 index 00000000..08f198df --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.BaseContract.html @@ -0,0 +1,286 @@ +BaseContract | Gondi JS SDK - v0.15.0b2
                      +
                      + +
                      +
                      +
                      +
                      + +

                      Class BaseContract<TAbi>

                      +
                      +

                      Type Parameters

                      +
                        +
                      • +

                        TAbi extends Abi

                      +
                      +

                      Hierarchy

                      +
                      +
                      +
                      +
                      + +
                      +
                      +

                      Constructors

                      +
                      +
                      +

                      Properties

                      +
                      +
                      +

                      Constructors

                      +
                      + +
                        + +
                      • +
                        +

                        Type Parameters

                        +
                          +
                        • +

                          TAbi extends Abi

                        +
                        +

                        Parameters

                        +
                          +
                        • +
                          __namedParameters: {
                              walletClient: {};
                              address: `0x${string}`;
                              abi: TAbi;
                          }
                          +
                            +
                          • +
                            walletClient: {}
                            +
                            • +
                            • +
                              address: `0x${string}`
                            • +
                            • +
                              abi: TAbi
                          +

                          Returns BaseContract<TAbi>

                        +
                        +

                        Properties

                        +
                        + +
                        abi: TAbi
                        +
                        + +
                        address: `0x${string}`
                        +
                        + +
                        bcClient: {}
                        +
                        +

                        Type declaration

                        +
                          +
                          + +
                          wallet: {}
                          +
                          +

                          Type declaration

                          +
                            +
                            + +
                            contract: GetContractReturnType<TAbi, {} | {}>
                            +
                            + +
                            safeContractWrite: {
                                [TFunctionName in string]: ((args, options?) => Promise<`0x${string}`>)
                            }
                            +
                            + +
                            parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<TAbi, TFunctionName, true, TFunctionName extends ContractEventName<TAbi>[]
                                ? TFunctionName[number]
                                : TFunctionName>)
                            +
                            +

                            Type declaration

                            +
                              +
                            • +
                                +
                              • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<TAbi, TFunctionName, true, TFunctionName extends ContractEventName<TAbi>[]
                                    ? TFunctionName[number]
                                    : TFunctionName>
                              • +
                              • +
                                +

                                Type Parameters

                                +
                                  +
                                • +

                                  TFunctionName extends string

                                +
                                +

                                Parameters

                                +
                                  +
                                • +
                                  eventName: TFunctionName
                                • +
                                • +
                                  logs: Log<bigint, number, false>[]
                                +

                                Returns ParseEventLogsReturnType<TAbi, TFunctionName, true, TFunctionName extends ContractEventName<TAbi>[]
                                    ? TFunctionName[number]
                                    : TFunctionName>

                            +
                            + +
                            +
                            \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.Contracts.html b/docs/0.15.0b2/classes/Internal.Contracts.html new file mode 100644 index 00000000..b288e7a2 --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.Contracts.html @@ -0,0 +1,416 @@ +Contracts | Gondi JS SDK - v0.15.0b2
                            +
                            + +
                            +
                            +
                            +
                            + +

                            Class Contracts

                            +
                            +

                            Hierarchy

                            +
                              +
                            • Contracts
                            +
                            +
                            +
                            + +
                            +
                            +

                            Constructors

                            +
                            + +
                            +
                            +

                            Methods

                            +
                            + +
                            +
                            + +
                            +
                            + +
                            +
                            + +
                            +
                            + +
                              + +
                            • +
                              +

                              Parameters

                              +
                                +
                              • +
                                address: `0x${string}`
                              +

                              Returns BaseContract<readonly [{
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "owner";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "spender";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                      indexed: true;
                                  }];
                                  name: "Approval";
                              }, {
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "owner";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "operator";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "approved";
                                      internalType: "bool";
                                      type: "bool";
                                      indexed: false;
                                  }];
                                  name: "ApprovalForAll";
                              }, {
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                      indexed: true;
                                  }];
                                  name: "Transfer";
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "spender";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "approve";
                                  outputs: readonly [];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "owner";
                                      internalType: "address";
                                      type: "address";
                                  }];
                                  name: "balanceOf";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "getApproved";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }];
                                  name: "isApprovedForAll";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [];
                                  name: "name";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "string";
                                      type: "string";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "ownerOf";
                                  outputs: readonly [{
                                      name: "owner";
                                      internalType: "address";
                                      type: "address";
                                  }];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "safeTransferFrom";
                                  outputs: readonly [];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "data";
                                      internalType: "bytes";
                                      type: "bytes";
                                  }];
                                  name: "safeTransferFrom";
                                  outputs: readonly [];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "operator";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "approved";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                                  name: "setApprovalForAll";
                                  outputs: readonly [];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "interfaceId";
                                      internalType: "bytes4";
                                      type: "bytes4";
                                  }];
                                  name: "supportsInterface";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [];
                                  name: "symbol";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "string";
                                      type: "string";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "tokenURI";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "string";
                                      type: "string";
                                  }];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "transferFrom";
                                  outputs: readonly [];
                              }]>

                            +
                            + +
                              + +
                            • +
                              +

                              Parameters

                              +
                                +
                              • +
                                address: `0x${string}`
                              +

                              Returns BaseContract<readonly [{
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_uri";
                                      type: "string";
                                  }, {
                                      name: "_editions";
                                      type: "uint256";
                                  }, {
                                      name: "_salePrice";
                                      type: "uint256";
                                  }];
                                  name: "addNewTokenWithEditions";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }, {
                                      name: "_salePrice";
                                      type: "uint256";
                                  }];
                                  name: "setSalePrice";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [];
                                  name: "name";
                                  outputs: readonly [{
                                      name: "_name";
                                      type: "string";
                                  }];
                                  payable: false;
                                  stateMutability: "pure";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_to";
                                      type: "address";
                                  }, {
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "approve";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [];
                                  name: "totalSupply";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "currentBidDetailsOfToken";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256";
                                  }, {
                                      name: "";
                                      type: "address";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "approvedFor";
                                  outputs: readonly [{
                                      name: "";
                                      type: "address";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "acceptBid";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_creator";
                                      type: "address";
                                  }];
                                  name: "isWhitelisted";
                                  outputs: readonly [{
                                      name: "";
                                      type: "bool";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "bid";
                                  outputs: readonly [];
                                  payable: true;
                                  stateMutability: "payable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_owner";
                                      type: "address";
                                  }];
                                  name: "tokensOf";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256[]";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_percentage";
                                      type: "uint256";
                                  }];
                                  name: "setMaintainerPercentage";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_creator";
                                      type: "address";
                                  }];
                                  name: "whitelistCreator";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "ownerOf";
                                  outputs: readonly [{
                                      name: "";
                                      type: "address";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_uri";
                                      type: "string";
                                  }];
                                  name: "originalTokenOfUri";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_owner";
                                      type: "address";
                                  }];
                                  name: "balanceOf";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [];
                                  name: "owner";
                                  outputs: readonly [{
                                      name: "";
                                      type: "address";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [];
                                  name: "symbol";
                                  outputs: readonly [{
                                      name: "_symbol";
                                      type: "string";
                                  }];
                                  payable: false;
                                  stateMutability: "pure";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "cancelBid";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "salePriceOfToken";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_to";
                                      type: "address";
                                  }, {
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "transfer";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "takeOwnership";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_percentage";
                                      type: "uint256";
                                  }];
                                  name: "setCreatorPercentage";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "tokenURI";
                                  outputs: readonly [{
                                      name: "";
                                      type: "string";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "creatorOfToken";
                                  outputs: readonly [{
                                      name: "";
                                      type: "address";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "buy";
                                  outputs: readonly [];
                                  payable: true;
                                  stateMutability: "payable";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "_uri";
                                      type: "string";
                                  }];
                                  name: "addNewToken";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [];
                                  name: "creatorPercentage";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: true;
                                  inputs: readonly [];
                                  name: "maintainerPercentage";
                                  outputs: readonly [{
                                      name: "";
                                      type: "uint256";
                                  }];
                                  payable: false;
                                  stateMutability: "view";
                                  type: "function";
                              }, {
                                  constant: false;
                                  inputs: readonly [{
                                      name: "newOwner";
                                      type: "address";
                                  }];
                                  name: "transferOwnership";
                                  outputs: readonly [];
                                  payable: false;
                                  stateMutability: "nonpayable";
                                  type: "function";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_creator";
                                      type: "address";
                                  }];
                                  name: "WhitelistCreator";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_bidder";
                                      type: "address";
                                  }, {
                                      indexed: true;
                                      name: "_amount";
                                      type: "uint256";
                                  }, {
                                      indexed: true;
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "Bid";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_bidder";
                                      type: "address";
                                  }, {
                                      indexed: true;
                                      name: "_seller";
                                      type: "address";
                                  }, {
                                      indexed: false;
                                      name: "_amount";
                                      type: "uint256";
                                  }, {
                                      indexed: true;
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "AcceptBid";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_bidder";
                                      type: "address";
                                  }, {
                                      indexed: true;
                                      name: "_amount";
                                      type: "uint256";
                                  }, {
                                      indexed: true;
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "CancelBid";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_buyer";
                                      type: "address";
                                  }, {
                                      indexed: true;
                                      name: "_seller";
                                      type: "address";
                                  }, {
                                      indexed: false;
                                      name: "_amount";
                                      type: "uint256";
                                  }, {
                                      indexed: true;
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "Sold";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_tokenId";
                                      type: "uint256";
                                  }, {
                                      indexed: true;
                                      name: "_price";
                                      type: "uint256";
                                  }];
                                  name: "SalePriceSet";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "previousOwner";
                                      type: "address";
                                  }, {
                                      indexed: true;
                                      name: "newOwner";
                                      type: "address";
                                  }];
                                  name: "OwnershipTransferred";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_from";
                                      type: "address";
                                  }, {
                                      indexed: true;
                                      name: "_to";
                                      type: "address";
                                  }, {
                                      indexed: false;
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "Transfer";
                                  type: "event";
                              }, {
                                  anonymous: false;
                                  inputs: readonly [{
                                      indexed: true;
                                      name: "_owner";
                                      type: "address";
                                  }, {
                                      indexed: true;
                                      name: "_approved";
                                      type: "address";
                                  }, {
                                      indexed: false;
                                      name: "_tokenId";
                                      type: "uint256";
                                  }];
                                  name: "Approval";
                                  type: "event";
                              }]>

                            +
                            + +
                              + +
                            • +
                              +

                              Parameters

                              +
                                +
                              • +
                                address: `0x${string}`
                              +

                              Returns BaseContract<readonly [{
                                  type: "function";
                                  inputs: readonly [{
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "balanceOf";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  stateMutability: "view";
                              }, {
                                  type: "function";
                                  inputs: readonly [{
                                      name: "owners";
                                      internalType: "address[]";
                                      type: "address[]";
                                  }, {
                                      name: "ids";
                                      internalType: "uint256[]";
                                      type: "uint256[]";
                                  }];
                                  name: "balanceOfBatch";
                                  outputs: readonly [{
                                      name: "balances";
                                      internalType: "uint256[]";
                                      type: "uint256[]";
                                  }];
                                  stateMutability: "view";
                              }, {
                                  type: "function";
                                  inputs: readonly [{
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }];
                                  name: "isApprovedForAll";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                                  stateMutability: "view";
                              }, {
                                  type: "function";
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "ids";
                                      internalType: "uint256[]";
                                      type: "uint256[]";
                                  }, {
                                      name: "amounts";
                                      internalType: "uint256[]";
                                      type: "uint256[]";
                                  }, {
                                      name: "data";
                                      internalType: "bytes";
                                      type: "bytes";
                                  }];
                                  name: "safeBatchTransferFrom";
                                  outputs: readonly [];
                                  stateMutability: "nonpayable";
                              }, {
                                  type: "function";
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "amount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "data";
                                      internalType: "bytes";
                                      type: "bytes";
                                  }];
                                  name: "safeTransferFrom";
                                  outputs: readonly [];
                                  stateMutability: "nonpayable";
                              }, {
                                  type: "function";
                                  inputs: readonly [{
                                      name: "operator";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "approved";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                                  name: "setApprovalForAll";
                                  outputs: readonly [];
                                  stateMutability: "nonpayable";
                              }, {
                                  type: "function";
                                  inputs: readonly [{
                                      name: "interfaceId";
                                      internalType: "bytes4";
                                      type: "bytes4";
                                  }];
                                  name: "supportsInterface";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                                  stateMutability: "view";
                              }, {
                                  type: "function";
                                  inputs: readonly [{
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "uri";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "string";
                                      type: "string";
                                  }];
                                  stateMutability: "view";
                              }, {
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "owner";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "operator";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "approved";
                                      internalType: "bool";
                                      type: "bool";
                                      indexed: false;
                                  }];
                                  name: "ApprovalForAll";
                              }, {
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "operator";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "ids";
                                      internalType: "uint256[]";
                                      type: "uint256[]";
                                      indexed: false;
                                  }, {
                                      name: "amounts";
                                      internalType: "uint256[]";
                                      type: "uint256[]";
                                      indexed: false;
                                  }];
                                  name: "TransferBatch";
                              }, {
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "operator";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                      indexed: false;
                                  }, {
                                      name: "amount";
                                      internalType: "uint256";
                                      type: "uint256";
                                      indexed: false;
                                  }];
                                  name: "TransferSingle";
                              }, {
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "value";
                                      internalType: "string";
                                      type: "string";
                                      indexed: false;
                                  }, {
                                      name: "id";
                                      internalType: "uint256";
                                      type: "uint256";
                                      indexed: true;
                                  }];
                                  name: "URI";
                              }]>

                            +
                            + +
                            +
                            + +
                              + +
                            • +
                              +

                              Parameters

                              +
                                +
                              • +
                                address: `0x${string}`
                              +

                              Returns BaseContract<readonly [{
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "owner";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "spender";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "amount";
                                      internalType: "uint256";
                                      type: "uint256";
                                      indexed: false;
                                  }];
                                  name: "Approval";
                              }, {
                                  type: "event";
                                  anonymous: false;
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                      indexed: true;
                                  }, {
                                      name: "amount";
                                      internalType: "uint256";
                                      type: "uint256";
                                      indexed: false;
                                  }];
                                  name: "Transfer";
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [];
                                  name: "DOMAIN_SEPARATOR";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bytes32";
                                      type: "bytes32";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }];
                                  name: "allowance";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "spender";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "amount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "approve";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }];
                                  name: "balanceOf";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [];
                                  name: "decimals";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "uint8";
                                      type: "uint8";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [];
                                  name: "name";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "string";
                                      type: "string";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "";
                                      internalType: "address";
                                      type: "address";
                                  }];
                                  name: "nonces";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "owner";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "spender";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "value";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "deadline";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }, {
                                      name: "v";
                                      internalType: "uint8";
                                      type: "uint8";
                                  }, {
                                      name: "r";
                                      internalType: "bytes32";
                                      type: "bytes32";
                                  }, {
                                      name: "s";
                                      internalType: "bytes32";
                                      type: "bytes32";
                                  }];
                                  name: "permit";
                                  outputs: readonly [];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [];
                                  name: "symbol";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "string";
                                      type: "string";
                                  }];
                              }, {
                                  stateMutability: "view";
                                  type: "function";
                                  inputs: readonly [];
                                  name: "totalSupply";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "amount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "transfer";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                              }, {
                                  stateMutability: "nonpayable";
                                  type: "function";
                                  inputs: readonly [{
                                      name: "from";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "to";
                                      internalType: "address";
                                      type: "address";
                                  }, {
                                      name: "amount";
                                      internalType: "uint256";
                                      type: "uint256";
                                  }];
                                  name: "transferFrom";
                                  outputs: readonly [{
                                      name: "";
                                      internalType: "bool";
                                      type: "bool";
                                  }];
                              }]>

                            +
                            +

                            Properties

                            +
                            + +
                            publicClient: {}
                            +
                            +

                            Type declaration

                            +
                              +
                              + +
                              walletClient: {}
                              +
                              +

                              Type declaration

                              +
                                +
                                + +
                                MultiSourceLoanV4: MslV4
                                +
                                + +
                                MultiSourceLoanV5: MslV5
                                +
                                + +
                                MultiSourceLoanV6: MslV6
                                +
                                + +
                                AuctionLoanLiquidatorV4: AllV4
                                +
                                + +
                                AuctionLoanLiquidatorV5: AllV5
                                +
                                + +
                                AuctionLoanLiquidatorV6: AllV6
                                +
                                + +
                                UserVaultV5: UserVaultV5
                                +
                                + +
                                UserVaultV6: UserVaultV6
                                +
                                + +
                                PurchaseBundler: PurchaseBundler
                                +
                                + +
                                +
                                \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.MslV4.html b/docs/0.15.0b2/classes/Internal.MslV4.html new file mode 100644 index 00000000..3402079c --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.MslV4.html @@ -0,0 +1,1118 @@ +MslV4 | Gondi JS SDK - v0.15.0b2
                                +
                                + +
                                +
                                +
                                +
                                + +

                                Class MslV4

                                +
                                +

                                Hierarchy

                                +
                                +
                                +
                                +
                                + +
                                +
                                +

                                Constructors

                                +
                                + +
                                +
                                +

                                Methods

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        structToSign: {
                                            offerId: bigint;
                                            lender: `0x${string}`;
                                            fee: bigint;
                                            borrower: `0x${string}`;
                                            capacity: bigint;
                                            signer: `0x${string}`;
                                            requiresLiquidation: boolean;
                                            nftCollateralAddress: `0x${string}`;
                                            nftCollateralTokenId: bigint;
                                            principalAddress: `0x${string}`;
                                            principalAmount: bigint;
                                            aprBps: bigint;
                                            expirationTime: bigint;
                                            duration: bigint;
                                            validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                        };
                                    }
                                    +
                                      +
                                    • +
                                      structToSign: {
                                          offerId: bigint;
                                          lender: `0x${string}`;
                                          fee: bigint;
                                          borrower: `0x${string}`;
                                          capacity: bigint;
                                          signer: `0x${string}`;
                                          requiresLiquidation: boolean;
                                          nftCollateralAddress: `0x${string}`;
                                          nftCollateralTokenId: bigint;
                                          principalAddress: `0x${string}`;
                                          principalAmount: bigint;
                                          aprBps: bigint;
                                          expirationTime: bigint;
                                          duration: bigint;
                                          validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                      }
                                      +
                                        +
                                      • +
                                        offerId: bigint
                                      • +
                                      • +
                                        lender: `0x${string}`
                                      • +
                                      • +
                                        fee: bigint
                                      • +
                                      • +
                                        borrower: `0x${string}`
                                      • +
                                      • +
                                        capacity: bigint
                                      • +
                                      • +
                                        signer: `0x${string}`
                                      • +
                                      • +
                                        requiresLiquidation: boolean
                                      • +
                                      • +
                                        nftCollateralAddress: `0x${string}`
                                      • +
                                      • +
                                        nftCollateralTokenId: bigint
                                      • +
                                      • +
                                        principalAddress: `0x${string}`
                                      • +
                                      • +
                                        principalAmount: bigint
                                      • +
                                      • +
                                        aprBps: bigint
                                      • +
                                      • +
                                        expirationTime: bigint
                                      • +
                                      • +
                                        duration: bigint
                                      • +
                                      • +
                                        validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[]
                                  +

                                  Returns Promise<`0x${string}`>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        structToSign: {
                                            renegotiationId: bigint;
                                            loanId: bigint;
                                            lender: `0x${string}`;
                                            fee: bigint;
                                            signer: `0x${string}`;
                                            targetPrincipal: readonly bigint[];
                                            principalAmount: bigint;
                                            aprBps: bigint;
                                            expirationTime: bigint;
                                            duration: bigint;
                                            strictImprovement: boolean;
                                        };
                                    }
                                    +
                                      +
                                    • +
                                      structToSign: {
                                          renegotiationId: bigint;
                                          loanId: bigint;
                                          lender: `0x${string}`;
                                          fee: bigint;
                                          signer: `0x${string}`;
                                          targetPrincipal: readonly bigint[];
                                          principalAmount: bigint;
                                          aprBps: bigint;
                                          expirationTime: bigint;
                                          duration: bigint;
                                          strictImprovement: boolean;
                                      }
                                      +
                                        +
                                      • +
                                        renegotiationId: bigint
                                      • +
                                      • +
                                        loanId: bigint
                                      • +
                                      • +
                                        lender: `0x${string}`
                                      • +
                                      • +
                                        fee: bigint
                                      • +
                                      • +
                                        signer: `0x${string}`
                                      • +
                                      • +
                                        targetPrincipal: readonly bigint[]
                                      • +
                                      • +
                                        principalAmount: bigint
                                      • +
                                      • +
                                        aprBps: bigint
                                      • +
                                      • +
                                        expirationTime: bigint
                                      • +
                                      • +
                                        duration: bigint
                                      • +
                                      • +
                                        strictImprovement: boolean
                                  +

                                  Returns Promise<`0x${string}`>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        id: bigint;
                                    }
                                    +
                                      +
                                    • +
                                      id: bigint
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          lender: `0x${string}`;
                                          offerId: bigint;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        minId: bigint;
                                    }
                                    +
                                      +
                                    • +
                                      minId: bigint
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          lender: `0x${string}`;
                                          minOfferId: bigint;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        id: bigint;
                                    }
                                    +
                                      +
                                    • +
                                      id: bigint
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          lender: `0x${string}`;
                                          renegotiationId: bigint;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        minId: bigint;
                                    }
                                    +
                                      +
                                    • +
                                      minId: bigint
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          lender: `0x${string}`;
                                          minRenegotiationId: bigint;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loan: {
                                              contractAddress: `0x${string}`;
                                              borrower: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              startTime: bigint;
                                              duration: bigint;
                                              source: readonly {
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  principalAmount: bigint;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              }[];
                                              id: string;
                                          };
                                          loanId: bigint;
                                          offerId: string;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        loan: LoanV4;
                                        loanId: bigint;
                                        nftReceiver?: `0x${string}`;
                                    }
                                    +
                                      +
                                    • +
                                      loan: LoanV4
                                    • +
                                    • +
                                      loanId: bigint
                                    • +
                                    • +
                                      Optional nftReceiver?: `0x${string}`
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loanId: bigint;
                                          totalRepayment: bigint;
                                          fee: bigint;
                                      }>);
                                  }>

                                +
                                + +
                                +
                                + +
                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        renegotiationId: bigint;
                                        refinancings: {
                                            loan: LoanV4;
                                            newAprBps: bigint;
                                            sources: {
                                                source: {
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    principalAmount: bigint;
                                                    accruedInterest: bigint;
                                                    startTime: bigint;
                                                    aprBps: bigint;
                                                };
                                                refinancingPrincipal: bigint;
                                            }[];
                                        }[];
                                    }
                                    +
                                      +
                                    • +
                                      renegotiationId: bigint
                                    • +
                                    • +
                                      refinancings: {
                                          loan: LoanV4;
                                          newAprBps: bigint;
                                          sources: {
                                              source: {
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  principalAmount: bigint;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              };
                                              refinancingPrincipal: bigint;
                                          }[];
                                      }[]
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          results: {
                                              renegotiationId: bigint;
                                              oldLoanId: bigint;
                                              newLoanId: bigint;
                                              loan: {
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                              };
                                              fee: bigint;
                                          }[];
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        offer: {
                                            renegotiationId: bigint;
                                            loanId: bigint;
                                            lender: `0x${string}`;
                                            fee: bigint;
                                            signer: `0x${string}`;
                                            targetPrincipal: readonly bigint[];
                                            principalAmount: bigint;
                                            aprBps: bigint;
                                            expirationTime: bigint;
                                            duration: bigint;
                                            strictImprovement: boolean;
                                        };
                                        signature: `0x${string}`;
                                        loan: LoanV4;
                                    }
                                    +
                                      +
                                    • +
                                      offer: {
                                          renegotiationId: bigint;
                                          loanId: bigint;
                                          lender: `0x${string}`;
                                          fee: bigint;
                                          signer: `0x${string}`;
                                          targetPrincipal: readonly bigint[];
                                          principalAmount: bigint;
                                          aprBps: bigint;
                                          expirationTime: bigint;
                                          duration: bigint;
                                          strictImprovement: boolean;
                                      }
                                      +
                                        +
                                      • +
                                        renegotiationId: bigint
                                      • +
                                      • +
                                        loanId: bigint
                                      • +
                                      • +
                                        lender: `0x${string}`
                                      • +
                                      • +
                                        fee: bigint
                                      • +
                                      • +
                                        signer: `0x${string}`
                                      • +
                                      • +
                                        targetPrincipal: readonly bigint[]
                                      • +
                                      • +
                                        principalAmount: bigint
                                      • +
                                      • +
                                        aprBps: bigint
                                      • +
                                      • +
                                        expirationTime: bigint
                                      • +
                                      • +
                                        duration: bigint
                                      • +
                                      • +
                                        strictImprovement: boolean
                                    • +
                                    • +
                                      signature: `0x${string}`
                                    • +
                                    • +
                                      loan: LoanV4
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loan: {
                                              contractAddress: `0x${string}`;
                                              borrower: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              startTime: bigint;
                                              duration: bigint;
                                              source: readonly {
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  principalAmount: bigint;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              }[];
                                              id: string;
                                          };
                                          loanId: bigint;
                                          renegotiationId: string;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        offer: {
                                            renegotiationId: bigint;
                                            loanId: bigint;
                                            lender: `0x${string}`;
                                            fee: bigint;
                                            signer: `0x${string}`;
                                            targetPrincipal: readonly bigint[];
                                            principalAmount: bigint;
                                            aprBps: bigint;
                                            expirationTime: bigint;
                                            duration: bigint;
                                            strictImprovement: boolean;
                                        };
                                        loan: LoanV4;
                                    }
                                    +
                                      +
                                    • +
                                      offer: {
                                          renegotiationId: bigint;
                                          loanId: bigint;
                                          lender: `0x${string}`;
                                          fee: bigint;
                                          signer: `0x${string}`;
                                          targetPrincipal: readonly bigint[];
                                          principalAmount: bigint;
                                          aprBps: bigint;
                                          expirationTime: bigint;
                                          duration: bigint;
                                          strictImprovement: boolean;
                                      }
                                      +
                                        +
                                      • +
                                        renegotiationId: bigint
                                      • +
                                      • +
                                        loanId: bigint
                                      • +
                                      • +
                                        lender: `0x${string}`
                                      • +
                                      • +
                                        fee: bigint
                                      • +
                                      • +
                                        signer: `0x${string}`
                                      • +
                                      • +
                                        targetPrincipal: readonly bigint[]
                                      • +
                                      • +
                                        principalAmount: bigint
                                      • +
                                      • +
                                        aprBps: bigint
                                      • +
                                      • +
                                        expirationTime: bigint
                                      • +
                                      • +
                                        duration: bigint
                                      • +
                                      • +
                                        strictImprovement: boolean
                                    • +
                                    • +
                                      loan: LoanV4
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loan: {
                                              contractAddress: `0x${string}`;
                                              borrower: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              startTime: bigint;
                                              duration: bigint;
                                              source: readonly {
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  principalAmount: bigint;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              }[];
                                              id: string;
                                          };
                                          loanId: bigint;
                                          renegotiationId: string;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loan: {
                                              contractAddress: `0x${string}`;
                                              borrower: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              startTime: bigint;
                                              duration: bigint;
                                              tranche: readonly {
                                                  loanId: bigint;
                                                  floor: bigint;
                                                  principalAmount: bigint;
                                                  lender: `0x${string}`;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              }[];
                                              protocolFee: bigint;
                                              id: string;
                                          };
                                          loanId: bigint;
                                          renegotiationId: string;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loan: {
                                              contractAddress: `0x${string}`;
                                              borrower: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              startTime: bigint;
                                              duration: bigint;
                                              tranche: readonly {
                                                  loanId: bigint;
                                                  floor: bigint;
                                                  principalAmount: bigint;
                                                  lender: `0x${string}`;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              }[];
                                              protocolFee: bigint;
                                              id: string;
                                          };
                                          loanId: bigint;
                                          offerIds: string[];
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          results: {
                                              loanId: bigint;
                                              delegate: `0x${string}`;
                                              value: boolean;
                                          }[];
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loan: {
                                              loanId: bigint;
                                              contractAddress: `0x${string}`;
                                              borrower: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              startTime: bigint | bigint & Date;
                                              duration: bigint;
                                              source: readonly {
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  principalAmount: bigint;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              }[];
                                          };
                                          value: boolean;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          delegate: `0x${string}`;
                                          collection: `0x${string}`;
                                          tokenId: bigint;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          results: ({
                                              loanId: bigint;
                                              offerId: bigint;
                                              loan: {
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                              };
                                              lender: `0x${string}`;
                                              borrower: `0x${string}`;
                                              fee: bigint;
                                          } | {
                                              delegate: `0x${string}`;
                                              collection: `0x${string}`;
                                              tokenId: bigint;
                                          })[];
                                          loan: {
                                              contractAddress: `0x${string}`;
                                              borrower: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              startTime: bigint;
                                              duration: bigint;
                                              source: readonly {
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  principalAmount: bigint;
                                                  accruedInterest: bigint;
                                                  startTime: bigint;
                                                  aprBps: bigint;
                                              }[];
                                              id: string;
                                          };
                                          loanId: bigint;
                                      }>);
                                  }>

                                +
                                + +
                                  + +
                                • +
                                  +

                                  Parameters

                                  +
                                    +
                                  • +
                                    __namedParameters: {
                                        loan: LoanV4;
                                        loanId: bigint;
                                    }
                                    +
                                      +
                                    • +
                                      loan: LoanV4
                                    • +
                                    • +
                                      loanId: bigint
                                  +

                                  Returns Promise<{
                                      txHash: `0x${string}`;
                                      waitTxInBlock: (() => Promise<{
                                          loanId: bigint;
                                      }>);
                                  }>

                                +
                                +

                                Properties

                                +
                                + +
                                abi: readonly [{
                                    stateMutability: "nonpayable";
                                    type: "constructor";
                                    inputs: readonly [{
                                        name: "loanLiquidator";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "protocolFee";
                                        internalType: "struct IBaseLoan.ProtocolFee";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "recipient";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        name: "currencyManager";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "collectionManager";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "maxSources";
                                        internalType: "uint8";
                                        type: "uint8";
                                    }];
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "AddressZeroError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_offerId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "CancelledOrExecutedOfferError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_offerId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "CancelledRenegotiationOffer";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_renegotiationId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "CancelledRenegotiationOfferError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "CannotLiquidateError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "CollectionNotWhitelistedError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "CurrencyNotWhitelistedError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "ExpiredLoanError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_expirationTime";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "ExpiredOfferError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_expirationTime";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "ExpiredRenegotiationOfferError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "InvalidBorrowerError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "InvalidCallbackError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "InvalidCollateralIdError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "InvalidLiquidationError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "InvalidLoanError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_fraction";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "InvalidProtocolFeeError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "InvalidRenegotiationOfferError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "InvalidSignatureError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "InvalidSignerError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "LengthMismatchError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_liquidator";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "LiquidatorOnlyError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "LoanExpiredError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_expirationTime";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "LoanNotDueError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "LoanNotFoundError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_newMinOfferId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_minOfferId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "LowOfferIdError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_newMinRenegotiationOfferId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_minOfferId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "LowRenegotiationOfferIdError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "MaxCapacityExceededError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_id";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "NotMintedError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "NotStrictlyImprovedError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "OnlyBorrowerCallableError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "OnlyLenderOrSignerCallableError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "PartialOfferCannotChangeDurationError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "PartialOfferCannotHaveFeeError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "RefinanceFullError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "RepaymentError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "sourcePrincipal";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "loanPrincipal";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "TargetPrincipalTooLowError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_pendingProtocolFeeSetTime";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "TooEarlyError";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "sources";
                                        internalType: "uint8";
                                        type: "uint8";
                                    }];
                                    name: "TooManySourcesError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "Unauthorized";
                                }, {
                                    type: "error";
                                    inputs: readonly [{
                                        name: "_authorized";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "UnauthorizedError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "ZeroAddressError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "ZeroDurationError";
                                }, {
                                    type: "error";
                                    inputs: readonly [];
                                    name: "ZeroInterestError";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "lender";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }, {
                                        name: "minOfferId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "AllOffersCancelled";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "lender";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }, {
                                        name: "minRenegotiationId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "AllRenegotiationOffersCancelled";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "lender";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }, {
                                        name: "signer";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }];
                                    name: "ApprovedSigner";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "minimum";
                                        internalType: "struct IBaseLoan.ImprovementMinimum";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "interest";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        indexed: false;
                                    }];
                                    name: "ImprovementMinimumUpdated";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "newDuration";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "LiquidationAuctionDurationUpdated";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "liquidator";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }];
                                    name: "LiquidationContractUpdated";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "offerId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "loan";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        indexed: false;
                                    }, {
                                        name: "fee";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "LoanEmitted";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "LoanForeclosed";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "repayment";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "LoanLiquidated";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "renegotiationId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "oldLoanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "newLoanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "loan";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        indexed: false;
                                    }, {
                                        name: "fee";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "LoanRefinanced";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "totalRepayment";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "fee";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "LoanRepaid";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }, {
                                        name: "liquidator";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }];
                                    name: "LoanSentToLiquidator";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "newMax";
                                        internalType: "uint8";
                                        type: "uint8";
                                        indexed: false;
                                    }];
                                    name: "MaxSourcesUpdated";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "lender";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }, {
                                        name: "offerId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "OfferCancelled";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "user";
                                        internalType: "address";
                                        type: "address";
                                        indexed: true;
                                    }, {
                                        name: "newOwner";
                                        internalType: "address";
                                        type: "address";
                                        indexed: true;
                                    }];
                                    name: "OwnershipTransferred";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "fee";
                                        internalType: "struct IBaseLoan.ProtocolFee";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "recipient";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        indexed: false;
                                    }];
                                    name: "ProtocolFeePendingUpdate";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "fee";
                                        internalType: "struct IBaseLoan.ProtocolFee";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "recipient";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        indexed: false;
                                    }];
                                    name: "ProtocolFeeUpdated";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "lender";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }, {
                                        name: "renegotiationId";
                                        internalType: "uint256";
                                        type: "uint256";
                                        indexed: false;
                                    }];
                                    name: "RenegotiationOfferCancelled";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "contract_added";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }];
                                    name: "WhitelistedCallbackContractAdded";
                                }, {
                                    type: "event";
                                    anonymous: false;
                                    inputs: readonly [{
                                        name: "contract_removed";
                                        internalType: "address";
                                        type: "address";
                                        indexed: false;
                                    }];
                                    name: "WhitelistedCallbackContractRemoved";
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "DOMAIN_SEPARATOR";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "bytes32";
                                        type: "bytes32";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "FEE_UPDATE_NOTICE";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "INITIAL_DOMAIN_SEPARATOR";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "bytes32";
                                        type: "bytes32";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "MAX_PROTOCOL_FEE";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_contract";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "addWhitelistedCallbackContract";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_signer";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "approveSigner";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_minOfferId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "cancelAllOffers";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_minRenegotiationId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "cancelAllRenegotiationOffers";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_offerId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "cancelOffer";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_offerIds";
                                        internalType: "uint256[]";
                                        type: "uint256[]";
                                    }];
                                    name: "cancelOffers";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_renegotiationId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "cancelRenegotiationOffer";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_renegotiationIds";
                                        internalType: "uint256[]";
                                        type: "uint256[]";
                                    }];
                                    name: "cancelRenegotiationOffers";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_loanOffer";
                                        internalType: "struct IBaseLoan.LoanOffer";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "capacity";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "signer";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "requiresLiquidation";
                                            internalType: "bool";
                                            type: "bool";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "aprBps";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "validators";
                                            internalType: "struct IBaseLoan.OfferValidator[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "validator";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "arguments";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                        }];
                                    }, {
                                        name: "_tokenId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_lenderOfferSignature";
                                        internalType: "bytes";
                                        type: "bytes";
                                    }, {
                                        name: "_withCallback";
                                        internalType: "bool";
                                        type: "bool";
                                    }];
                                    name: "emitLoan";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "getApprovedSigner";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getCollectionManager";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getCurrencyManager";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getImprovementMinimum";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "struct IBaseLoan.ImprovementMinimum";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "interest";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getLiquidationAuctionDuration";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint48";
                                        type: "uint48";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getLiquidator";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "getLoanHash";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "bytes32";
                                        type: "bytes32";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getMaxSources";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint8";
                                        type: "uint8";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_loanPrincipal";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "getMinSourcePrincipal";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getPendingProtocolFee";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "struct IBaseLoan.ProtocolFee";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "recipient";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getPendingProtocolFeeSetTime";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getProtocolFee";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "struct IBaseLoan.ProtocolFee";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "recipient";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "getTotalLoansIssued";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_lender";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_offerId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "getUsedCapacity";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "isOfferCancelled";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "bool";
                                        type: "bool";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                    name: "isRenegotiationOfferCancelled";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "bool";
                                        type: "bool";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_contract";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "isWhitelistedCallbackContract";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "bool";
                                        type: "bool";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "lenderMinOfferId";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "lenderMinRenegotiationOfferId";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_loan";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }];
                                    name: "liquidateLoan";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_collateralAddress";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_collateralTokenId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_repayment";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_loan";
                                        internalType: "bytes";
                                        type: "bytes";
                                    }];
                                    name: "loanLiquidated";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "name";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "string";
                                        type: "string";
                                    }];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "";
                                        internalType: "bytes";
                                        type: "bytes";
                                    }];
                                    name: "onERC721Received";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "bytes4";
                                        type: "bytes4";
                                    }];
                                }, {
                                    stateMutability: "view";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "owner";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_renegotiationOffer";
                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "signer";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "targetPrincipal";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "aprBps";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "strictImprovement";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        name: "_loan";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        name: "_renegotiationOfferSignature";
                                        internalType: "bytes";
                                        type: "bytes";
                                    }];
                                    name: "refinanceFull";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_renegotiationOffer";
                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "signer";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "targetPrincipal";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "aprBps";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "strictImprovement";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        name: "_loan";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }];
                                    name: "refinancePartial";
                                    outputs: readonly [{
                                        name: "";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_renegotiationOffer";
                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                        type: "tuple[]";
                                        components: readonly [{
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "signer";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "targetPrincipal";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "aprBps";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "strictImprovement";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        name: "_loan";
                                        internalType: "struct IMultiSourceLoan.Loan[]";
                                        type: "tuple[]";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }];
                                    name: "refinancePartialBatch";
                                    outputs: readonly [{
                                        name: "loanId";
                                        internalType: "uint256[]";
                                        type: "uint256[]";
                                    }, {
                                        name: "loans";
                                        internalType: "struct IMultiSourceLoan.Loan[]";
                                        type: "tuple[]";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_contract";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "removeWhitelistedCallbackContract";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_collateralTo";
                                        internalType: "address";
                                        type: "address";
                                    }, {
                                        name: "_loanId";
                                        internalType: "uint256";
                                        type: "uint256";
                                    }, {
                                        name: "_loan";
                                        internalType: "struct IMultiSourceLoan.Loan";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "nftCollateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "nftCollateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "startTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "source";
                                            internalType: "struct IMultiSourceLoan.Source[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "accruedInterest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        name: "_withCallback";
                                        internalType: "bool";
                                        type: "bool";
                                    }];
                                    name: "repayLoan";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "maxSources";
                                        internalType: "uint8";
                                        type: "uint8";
                                    }];
                                    name: "setMaxSources";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [];
                                    name: "setProtocolFee";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "newOwner";
                                        internalType: "address";
                                        type: "address";
                                    }];
                                    name: "transferOwnership";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_newMinimum";
                                        internalType: "struct IBaseLoan.ImprovementMinimum";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "interest";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "duration";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }];
                                    name: "updateImprovementMinimum";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_newDuration";
                                        internalType: "uint48";
                                        type: "uint48";
                                    }];
                                    name: "updateLiquidationAuctionDuration";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "loanLiquidator";
                                        internalType: "contract ILoanLiquidator";
                                        type: "address";
                                    }];
                                    name: "updateLiquidationContract";
                                    outputs: readonly [];
                                }, {
                                    stateMutability: "nonpayable";
                                    type: "function";
                                    inputs: readonly [{
                                        name: "_newProtocolFee";
                                        internalType: "struct IBaseLoan.ProtocolFee";
                                        type: "tuple";
                                        components: readonly [{
                                            name: "recipient";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }];
                                    name: "updateProtocolFee";
                                    outputs: readonly [];
                                }]
                                +
                                + +
                                address: `0x${string}`
                                +
                                + +
                                bcClient: {}
                                +
                                +

                                Type declaration

                                +
                                  +
                                  + +
                                  wallet: {}
                                  +
                                  +

                                  Type declaration

                                  +
                                    +
                                    + +
                                    contract: GetContractReturnType<readonly [{
                                        stateMutability: "nonpayable";
                                        type: "constructor";
                                        inputs: readonly [{
                                            name: "loanLiquidator";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "protocolFee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            name: "currencyManager";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "collectionManager";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "maxSources";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "AddressZeroError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledOrExecutedOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledRenegotiationOffer";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CannotLiquidateError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CollectionNotWhitelistedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CurrencyNotWhitelistedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ExpiredLoanError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "ExpiredOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "ExpiredRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidBorrowerError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidCallbackError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidCollateralIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidLiquidationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "InvalidLoanError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "InvalidProtocolFeeError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidSignatureError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidSignerError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "LengthMismatchError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_liquidator";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "LiquidatorOnlyError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "LoanExpiredError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LoanNotDueError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LoanNotFoundError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_newMinOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LowOfferIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_newMinRenegotiationOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LowRenegotiationOfferIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "MaxCapacityExceededError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_id";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "NotMintedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "NotStrictlyImprovedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "OnlyBorrowerCallableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "OnlyLenderOrSignerCallableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "PartialOfferCannotChangeDurationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "PartialOfferCannotHaveFeeError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "RefinanceFullError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "RepaymentError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "sourcePrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "loanPrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "TargetPrincipalTooLowError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_pendingProtocolFeeSetTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "TooEarlyError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "sources";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                        name: "TooManySourcesError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "Unauthorized";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_authorized";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "UnauthorizedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroAddressError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroDurationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroInterestError";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "AllOffersCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "minRenegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "AllRenegotiationOffersCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "signer";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "ApprovedSigner";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "minimum";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ImprovementMinimumUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newDuration";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LiquidationAuctionDurationUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "liquidator";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "LiquidationContractUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanEmitted";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanForeclosed";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "repayment";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanLiquidated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "oldLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "newLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanRefinanced";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "totalRepayment";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanRepaid";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "liquidator";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "LoanSentToLiquidator";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newMax";
                                            internalType: "uint8";
                                            type: "uint8";
                                            indexed: false;
                                        }];
                                        name: "MaxSourcesUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "OfferCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "user";
                                            internalType: "address";
                                            type: "address";
                                            indexed: true;
                                        }, {
                                            name: "newOwner";
                                            internalType: "address";
                                            type: "address";
                                            indexed: true;
                                        }];
                                        name: "OwnershipTransferred";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "fee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ProtocolFeePendingUpdate";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "fee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ProtocolFeeUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "RenegotiationOfferCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "contract_added";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "WhitelistedCallbackContractAdded";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "contract_removed";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "WhitelistedCallbackContractRemoved";
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "DOMAIN_SEPARATOR";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "FEE_UPDATE_NOTICE";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "INITIAL_DOMAIN_SEPARATOR";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "MAX_PROTOCOL_FEE";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "addWhitelistedCallbackContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_signer";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "approveSigner";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelAllOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_minRenegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelAllRenegotiationOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelOffer";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerIds";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }];
                                        name: "cancelOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelRenegotiationOffer";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_renegotiationIds";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }];
                                        name: "cancelRenegotiationOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanOffer";
                                            internalType: "struct IBaseLoan.LoanOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "capacity";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "requiresLiquidation";
                                                internalType: "bool";
                                                type: "bool";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "validators";
                                                internalType: "struct IBaseLoan.OfferValidator[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "validator";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "arguments";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                        }, {
                                            name: "_tokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_lenderOfferSignature";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }, {
                                            name: "_withCallback";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                        name: "emitLoan";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "getApprovedSigner";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getCollectionManager";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getCurrencyManager";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getImprovementMinimum";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getLiquidationAuctionDuration";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint48";
                                            type: "uint48";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getLiquidator";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getLoanHash";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getMaxSources";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanPrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getMinSourcePrincipal";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getPendingProtocolFee";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getPendingProtocolFeeSetTime";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getProtocolFee";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getTotalLoansIssued";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getUsedCapacity";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "isOfferCancelled";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "isRenegotiationOfferCancelled";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "isWhitelistedCallbackContract";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "lenderMinOfferId";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "lenderMinRenegotiationOfferId";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "liquidateLoan";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_collateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_collateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_repayment";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "loanLiquidated";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "name";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "string";
                                            type: "string";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "onERC721Received";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes4";
                                            type: "bytes4";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "owner";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "strictImprovement";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_renegotiationOfferSignature";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "refinanceFull";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "strictImprovement";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "refinancePartial";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "strictImprovement";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "refinancePartialBatch";
                                        outputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }, {
                                            name: "loans";
                                            internalType: "struct IMultiSourceLoan.Loan[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "removeWhitelistedCallbackContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_collateralTo";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_withCallback";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                        name: "repayLoan";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "maxSources";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                        name: "setMaxSources";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "setProtocolFee";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "newOwner";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "transferOwnership";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newMinimum";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        name: "updateImprovementMinimum";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newDuration";
                                            internalType: "uint48";
                                            type: "uint48";
                                        }];
                                        name: "updateLiquidationAuctionDuration";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "loanLiquidator";
                                            internalType: "contract ILoanLiquidator";
                                            type: "address";
                                        }];
                                        name: "updateLiquidationContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newProtocolFee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        name: "updateProtocolFee";
                                        outputs: readonly [];
                                    }], {} | {}>
                                    +
                                    + +
                                    safeContractWrite: {
                                        transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                        liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                        onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                        addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                        approveSigner: ((args, options?) => Promise<`0x${string}`>);
                                        cancelAllOffers: ((args, options?) => Promise<`0x${string}`>);
                                        cancelAllRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                        cancelOffer: ((args, options?) => Promise<`0x${string}`>);
                                        cancelOffers: ((args, options?) => Promise<`0x${string}`>);
                                        cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>);
                                        cancelRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                        loanLiquidated: ((args, options?) => Promise<`0x${string}`>);
                                        removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                        setProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                        updateImprovementMinimum: ((args, options?) => Promise<`0x${string}`>);
                                        updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>);
                                        updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>);
                                        updateProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                        emitLoan: ((args, options?) => Promise<`0x${string}`>);
                                        refinanceFull: ((args, options?) => Promise<`0x${string}`>);
                                        refinancePartial: ((args, options?) => Promise<`0x${string}`>);
                                        refinancePartialBatch: ((args, options?) => Promise<`0x${string}`>);
                                        repayLoan: ((args, options?) => Promise<`0x${string}`>);
                                        setMaxSources: ((args, options?) => Promise<`0x${string}`>);
                                    }
                                    +
                                    +

                                    Type declaration

                                    +
                                      +
                                    • +
                                      transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [bigint, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }] | readonly [bigint, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }] & readonly [bigint, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      approveSigner: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      cancelAllOffers: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, bigint]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      cancelAllRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, bigint]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      cancelOffer: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, bigint]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      cancelOffers: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, readonly bigint[]] | readonly [`0x${string}`, readonly bigint[]] & readonly [`0x${string}`, readonly bigint[]]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, bigint]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      cancelRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, readonly bigint[]] | readonly [`0x${string}`, readonly bigint[]] & readonly [`0x${string}`, readonly bigint[]]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      loanLiquidated: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, bigint, bigint, bigint, `0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      setProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: undefined | readonly []
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      updateImprovementMinimum: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [{
                                                principalAmount: bigint;
                                                interest: bigint;
                                                duration: bigint;
                                            }] | readonly [{
                                                principalAmount: bigint;
                                                interest: bigint;
                                                duration: bigint;
                                            }] & readonly [{
                                                principalAmount: bigint;
                                                interest: bigint;
                                                duration: bigint;
                                            }]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [number]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      updateProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [{
                                                recipient: `0x${string}`;
                                                fraction: bigint;
                                            }] | readonly [{
                                                recipient: `0x${string}`;
                                                fraction: bigint;
                                            }] & readonly [{
                                                recipient: `0x${string}`;
                                                fraction: bigint;
                                            }]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      emitLoan: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [{
                                                offerId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                borrower: `0x${string}`;
                                                capacity: bigint;
                                                signer: `0x${string}`;
                                                requiresLiquidation: Widen<boolean>;
                                                nftCollateralAddress: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                            }, bigint, `0x${string}`, Widen<boolean>] | readonly [{
                                                offerId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                borrower: `0x${string}`;
                                                capacity: bigint;
                                                signer: `0x${string}`;
                                                requiresLiquidation: boolean;
                                                nftCollateralAddress: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                            }, bigint, `0x${string}`, boolean] & readonly [{
                                                offerId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                borrower: `0x${string}`;
                                                capacity: bigint;
                                                signer: `0x${string}`;
                                                requiresLiquidation: Widen<boolean>;
                                                nftCollateralAddress: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                            }, bigint, `0x${string}`, Widen<boolean>]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      refinanceFull: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [{
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: Widen<boolean>;
                                            }, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }, `0x${string}`] | readonly [{
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: boolean;
                                            }, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }, `0x${string}`] & readonly [{
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: Widen<boolean>;
                                            }, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }, `0x${string}`]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      refinancePartial: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [{
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: Widen<boolean>;
                                            }, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }] | readonly [{
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: boolean;
                                            }, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }] & readonly [{
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: Widen<boolean>;
                                            }, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      refinancePartialBatch: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [readonly {
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: Widen<boolean>;
                                            }[], readonly {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly { loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[];
                                            }[]] | readonly [readonly {
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: boolean;
                                            }[], readonly {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly { loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[];
                                            }[]] & readonly [readonly {
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                signer: `0x${string}`;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                strictImprovement: Widen<boolean>;
                                            }[], readonly {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly { loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[];
                                            }[]]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      repayLoan: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [`0x${string}`, bigint, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }, Widen<boolean>] | readonly [`0x${string}`, bigint, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }, boolean] & readonly [`0x${string}`, bigint, {
                                                borrower: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                startTime: bigint;
                                                duration: bigint;
                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                            }, Widen<boolean>]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    • +
                                    • +
                                      setMaxSources: ((args, options?) => Promise<`0x${string}`>)
                                      +
                                        +
                                      • +
                                          +
                                        • (args, options?): Promise<`0x${string}`>
                                        • +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            args: readonly [number]
                                          • +
                                          • +
                                            Optional options: {
                                                value?: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              Optional value?: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                    +
                                    + +
                                    parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                        stateMutability: "nonpayable";
                                        type: "constructor";
                                        inputs: readonly [{
                                            name: "loanLiquidator";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "protocolFee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            name: "currencyManager";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "collectionManager";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "maxSources";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "AddressZeroError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledOrExecutedOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledRenegotiationOffer";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CannotLiquidateError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CollectionNotWhitelistedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CurrencyNotWhitelistedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ExpiredLoanError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "ExpiredOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "ExpiredRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidBorrowerError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidCallbackError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidCollateralIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidLiquidationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "InvalidLoanError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "InvalidProtocolFeeError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidSignatureError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidSignerError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "LengthMismatchError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_liquidator";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "LiquidatorOnlyError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "LoanExpiredError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LoanNotDueError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LoanNotFoundError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_newMinOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LowOfferIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_newMinRenegotiationOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LowRenegotiationOfferIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "MaxCapacityExceededError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_id";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "NotMintedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "NotStrictlyImprovedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "OnlyBorrowerCallableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "OnlyLenderOrSignerCallableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "PartialOfferCannotChangeDurationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "PartialOfferCannotHaveFeeError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "RefinanceFullError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "RepaymentError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "sourcePrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "loanPrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "TargetPrincipalTooLowError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_pendingProtocolFeeSetTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "TooEarlyError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "sources";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                        name: "TooManySourcesError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "Unauthorized";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_authorized";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "UnauthorizedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroAddressError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroDurationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroInterestError";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "AllOffersCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "minRenegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "AllRenegotiationOffersCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "signer";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "ApprovedSigner";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "minimum";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ImprovementMinimumUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newDuration";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LiquidationAuctionDurationUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "liquidator";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "LiquidationContractUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanEmitted";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanForeclosed";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "repayment";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanLiquidated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "oldLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "newLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanRefinanced";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "totalRepayment";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanRepaid";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "liquidator";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "LoanSentToLiquidator";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newMax";
                                            internalType: "uint8";
                                            type: "uint8";
                                            indexed: false;
                                        }];
                                        name: "MaxSourcesUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "OfferCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "user";
                                            internalType: "address";
                                            type: "address";
                                            indexed: true;
                                        }, {
                                            name: "newOwner";
                                            internalType: "address";
                                            type: "address";
                                            indexed: true;
                                        }];
                                        name: "OwnershipTransferred";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "fee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ProtocolFeePendingUpdate";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "fee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ProtocolFeeUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "RenegotiationOfferCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "contract_added";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "WhitelistedCallbackContractAdded";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "contract_removed";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "WhitelistedCallbackContractRemoved";
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "DOMAIN_SEPARATOR";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "FEE_UPDATE_NOTICE";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "INITIAL_DOMAIN_SEPARATOR";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "MAX_PROTOCOL_FEE";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "addWhitelistedCallbackContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_signer";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "approveSigner";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelAllOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_minRenegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelAllRenegotiationOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelOffer";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerIds";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }];
                                        name: "cancelOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelRenegotiationOffer";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_renegotiationIds";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }];
                                        name: "cancelRenegotiationOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanOffer";
                                            internalType: "struct IBaseLoan.LoanOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "capacity";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "requiresLiquidation";
                                                internalType: "bool";
                                                type: "bool";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "validators";
                                                internalType: "struct IBaseLoan.OfferValidator[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "validator";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "arguments";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                        }, {
                                            name: "_tokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_lenderOfferSignature";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }, {
                                            name: "_withCallback";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                        name: "emitLoan";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "getApprovedSigner";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getCollectionManager";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getCurrencyManager";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getImprovementMinimum";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getLiquidationAuctionDuration";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint48";
                                            type: "uint48";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getLiquidator";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getLoanHash";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getMaxSources";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanPrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getMinSourcePrincipal";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getPendingProtocolFee";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getPendingProtocolFeeSetTime";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getProtocolFee";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getTotalLoansIssued";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getUsedCapacity";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "isOfferCancelled";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "isRenegotiationOfferCancelled";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "isWhitelistedCallbackContract";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "lenderMinOfferId";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "lenderMinRenegotiationOfferId";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "liquidateLoan";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_collateralAddress";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_collateralTokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_repayment";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "loanLiquidated";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "name";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "string";
                                            type: "string";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "onERC721Received";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes4";
                                            type: "bytes4";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "owner";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "strictImprovement";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_renegotiationOfferSignature";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "refinanceFull";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "strictImprovement";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "refinancePartial";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "strictImprovement";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "refinancePartialBatch";
                                        outputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }, {
                                            name: "loans";
                                            internalType: "struct IMultiSourceLoan.Loan[]";
                                            type: "tuple[]";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "removeWhitelistedCallbackContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_collateralTo";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_withCallback";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                        name: "repayLoan";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "maxSources";
                                            internalType: "uint8";
                                            type: "uint8";
                                        }];
                                        name: "setMaxSources";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "setProtocolFee";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "newOwner";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "transferOwnership";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newMinimum";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        name: "updateImprovementMinimum";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newDuration";
                                            internalType: "uint48";
                                            type: "uint48";
                                        }];
                                        name: "updateLiquidationAuctionDuration";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "loanLiquidator";
                                            internalType: "contract ILoanLiquidator";
                                            type: "address";
                                        }];
                                        name: "updateLiquidationContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newProtocolFee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        name: "updateProtocolFee";
                                        outputs: readonly [];
                                    }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ApprovedSigner" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated")[]
                                        ? TFunctionName[number]
                                        : TFunctionName>)
                                    +
                                    +

                                    Type declaration

                                    +
                                      +
                                    • +
                                        +
                                      • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                                            stateMutability: "nonpayable";
                                            type: "constructor";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "protocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "currencyManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "collectionManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "maxSources";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "AddressZeroError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledOrExecutedOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledRenegotiationOffer";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CannotLiquidateError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CollectionNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CurrencyNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ExpiredLoanError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidBorrowerError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCallbackError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCollateralIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidLiquidationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidLoanError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidProtocolFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidSignatureError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidSignerError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LengthMismatchError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_liquidator";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "LiquidatorOnlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LoanExpiredError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LoanNotDueError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LoanNotFoundError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinRenegotiationOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowRenegotiationOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "MaxCapacityExceededError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_id";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "NotMintedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NotStrictlyImprovedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyBorrowerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyLenderOrSignerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotChangeDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotHaveFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "RefinanceFullError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "RepaymentError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sourcePrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TargetPrincipalTooLowError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_pendingProtocolFeeSetTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TooEarlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sources";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                            name: "TooManySourcesError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "Unauthorized";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_authorized";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "UnauthorizedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroAddressError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroInterestError";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllRenegotiationOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "ApprovedSigner";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "minimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ImprovementMinimumUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newDuration";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LiquidationAuctionDurationUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LiquidationContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanEmitted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanForeclosed";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "repayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanLiquidated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "oldLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRefinanced";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "totalRepayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRepaid";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LoanSentToLiquidator";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newMax";
                                                internalType: "uint8";
                                                type: "uint8";
                                                indexed: false;
                                            }];
                                            name: "MaxSourcesUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "OfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }, {
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }];
                                            name: "OwnershipTransferred";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeePendingUpdate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeeUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RenegotiationOfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contract_added";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractAdded";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contract_removed";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractRemoved";
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "FEE_UPDATE_NOTICE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "INITIAL_DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MAX_PROTOCOL_FEE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "addWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_signer";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "approveSigner";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelRenegotiationOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanOffer";
                                                internalType: "struct IBaseLoan.LoanOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "capacity";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "requiresLiquidation";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "validators";
                                                    internalType: "struct IBaseLoan.OfferValidator[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "validator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "arguments";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                            }, {
                                                name: "_tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_lenderOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }, {
                                                name: "_withCallback";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            name: "emitLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "getApprovedSigner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCollectionManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCurrencyManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getImprovementMinimum";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidationAuctionDuration";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidator";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getLoanHash";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMaxSources";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getMinSourcePrincipal";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFeeSetTime";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getTotalLoansIssued";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getUsedCapacity";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isRenegotiationOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "isWhitelistedCallbackContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "lenderMinOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "lenderMinRenegotiationOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "liquidateLoan";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_collateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_collateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_repayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "loanLiquidated";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "name";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "string";
                                                type: "string";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "onERC721Received";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes4";
                                                type: "bytes4";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "owner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "strictImprovement";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_renegotiationOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "refinanceFull";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "strictImprovement";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "refinancePartial";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "strictImprovement";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "refinancePartialBatch";
                                            outputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "loans";
                                                internalType: "struct IMultiSourceLoan.Loan[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "removeWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_collateralTo";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_withCallback";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            name: "repayLoan";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "maxSources";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                            name: "setMaxSources";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "setProtocolFee";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "transferOwnership";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newMinimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateImprovementMinimum";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newDuration";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            name: "updateLiquidationAuctionDuration";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "contract ILoanLiquidator";
                                                type: "address";
                                            }];
                                            name: "updateLiquidationContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newProtocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateProtocolFee";
                                            outputs: readonly [];
                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ApprovedSigner" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated")[]
                                            ? TFunctionName[number]
                                            : TFunctionName>
                                      • +
                                      • +
                                        +

                                        Type Parameters

                                        +
                                          +
                                        • +

                                          TFunctionName extends "OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ApprovedSigner" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated"

                                        +
                                        +

                                        Parameters

                                        +
                                          +
                                        • +
                                          eventName: TFunctionName
                                        • +
                                        • +
                                          logs: Log<bigint, number, false>[]
                                        +

                                        Returns ParseEventLogsReturnType<readonly [{
                                            stateMutability: "nonpayable";
                                            type: "constructor";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "protocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "currencyManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "collectionManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "maxSources";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "AddressZeroError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledOrExecutedOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledRenegotiationOffer";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CannotLiquidateError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CollectionNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CurrencyNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ExpiredLoanError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidBorrowerError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCallbackError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCollateralIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidLiquidationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidLoanError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidProtocolFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidSignatureError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidSignerError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LengthMismatchError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_liquidator";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "LiquidatorOnlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LoanExpiredError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LoanNotDueError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LoanNotFoundError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinRenegotiationOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowRenegotiationOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "MaxCapacityExceededError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_id";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "NotMintedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NotStrictlyImprovedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyBorrowerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyLenderOrSignerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotChangeDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotHaveFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "RefinanceFullError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "RepaymentError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sourcePrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TargetPrincipalTooLowError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_pendingProtocolFeeSetTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TooEarlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sources";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                            name: "TooManySourcesError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "Unauthorized";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_authorized";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "UnauthorizedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroAddressError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroInterestError";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllRenegotiationOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "signer";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "ApprovedSigner";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "minimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ImprovementMinimumUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newDuration";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LiquidationAuctionDurationUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LiquidationContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanEmitted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanForeclosed";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "repayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanLiquidated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "oldLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRefinanced";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "totalRepayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRepaid";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LoanSentToLiquidator";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newMax";
                                                internalType: "uint8";
                                                type: "uint8";
                                                indexed: false;
                                            }];
                                            name: "MaxSourcesUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "OfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }, {
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }];
                                            name: "OwnershipTransferred";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeePendingUpdate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeeUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RenegotiationOfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contract_added";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractAdded";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contract_removed";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractRemoved";
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "FEE_UPDATE_NOTICE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "INITIAL_DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MAX_PROTOCOL_FEE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "addWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_signer";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "approveSigner";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelRenegotiationOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanOffer";
                                                internalType: "struct IBaseLoan.LoanOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "capacity";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "requiresLiquidation";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "validators";
                                                    internalType: "struct IBaseLoan.OfferValidator[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "validator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "arguments";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                            }, {
                                                name: "_tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_lenderOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }, {
                                                name: "_withCallback";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            name: "emitLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "getApprovedSigner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCollectionManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCurrencyManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getImprovementMinimum";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidationAuctionDuration";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidator";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getLoanHash";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMaxSources";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getMinSourcePrincipal";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFeeSetTime";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getTotalLoansIssued";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getUsedCapacity";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isRenegotiationOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "isWhitelistedCallbackContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "lenderMinOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "lenderMinRenegotiationOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "liquidateLoan";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_collateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_collateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_repayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "loanLiquidated";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "name";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "string";
                                                type: "string";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "onERC721Received";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes4";
                                                type: "bytes4";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "owner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "strictImprovement";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_renegotiationOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "refinanceFull";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "strictImprovement";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "refinancePartial";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "signer";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "strictImprovement";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "refinancePartialBatch";
                                            outputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "loans";
                                                internalType: "struct IMultiSourceLoan.Loan[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "removeWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_collateralTo";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_withCallback";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            name: "repayLoan";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "maxSources";
                                                internalType: "uint8";
                                                type: "uint8";
                                            }];
                                            name: "setMaxSources";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "setProtocolFee";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "transferOwnership";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newMinimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateImprovementMinimum";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newDuration";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            name: "updateLiquidationAuctionDuration";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "contract ILoanLiquidator";
                                                type: "address";
                                            }];
                                            name: "updateLiquidationContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newProtocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateProtocolFee";
                                            outputs: readonly [];
                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ApprovedSigner" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated")[]
                                            ? TFunctionName[number]
                                            : TFunctionName>

                                    +
                                    + +
                                    +
                                    \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.MslV5.html b/docs/0.15.0b2/classes/Internal.MslV5.html new file mode 100644 index 00000000..ad5d961e --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.MslV5.html @@ -0,0 +1,1259 @@ +MslV5 | Gondi JS SDK - v0.15.0b2
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    + +

                                    Class MslV5

                                    +
                                    +

                                    Hierarchy

                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +

                                    Constructors

                                    +
                                    + +
                                    +
                                    +

                                    Methods

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            structToSign: {
                                                offerId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                borrower: `0x${string}`;
                                                capacity: bigint;
                                                nftCollateralAddress: `0x${string}`;
                                                nftCollateralTokenId: bigint;
                                                principalAddress: `0x${string}`;
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                                validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                            };
                                        }
                                        +
                                          +
                                        • +
                                          structToSign: {
                                              offerId: bigint;
                                              lender: `0x${string}`;
                                              fee: bigint;
                                              borrower: `0x${string}`;
                                              capacity: bigint;
                                              nftCollateralAddress: `0x${string}`;
                                              nftCollateralTokenId: bigint;
                                              principalAddress: `0x${string}`;
                                              principalAmount: bigint;
                                              aprBps: bigint;
                                              expirationTime: bigint;
                                              duration: bigint;
                                              validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                          }
                                          +
                                            +
                                          • +
                                            offerId: bigint
                                          • +
                                          • +
                                            lender: `0x${string}`
                                          • +
                                          • +
                                            fee: bigint
                                          • +
                                          • +
                                            borrower: `0x${string}`
                                          • +
                                          • +
                                            capacity: bigint
                                          • +
                                          • +
                                            nftCollateralAddress: `0x${string}`
                                          • +
                                          • +
                                            nftCollateralTokenId: bigint
                                          • +
                                          • +
                                            principalAddress: `0x${string}`
                                          • +
                                          • +
                                            principalAmount: bigint
                                          • +
                                          • +
                                            aprBps: bigint
                                          • +
                                          • +
                                            expirationTime: bigint
                                          • +
                                          • +
                                            duration: bigint
                                          • +
                                          • +
                                            validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[]
                                      +

                                      Returns Promise<`0x${string}`>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            structToSign: {
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                            };
                                        }
                                        +
                                          +
                                        • +
                                          structToSign: {
                                              renegotiationId: bigint;
                                              loanId: bigint;
                                              lender: `0x${string}`;
                                              fee: bigint;
                                              targetPrincipal: readonly bigint[];
                                              principalAmount: bigint;
                                              aprBps: bigint;
                                              expirationTime: bigint;
                                              duration: bigint;
                                          }
                                          +
                                            +
                                          • +
                                            renegotiationId: bigint
                                          • +
                                          • +
                                            loanId: bigint
                                          • +
                                          • +
                                            lender: `0x${string}`
                                          • +
                                          • +
                                            fee: bigint
                                          • +
                                          • +
                                            targetPrincipal: readonly bigint[]
                                          • +
                                          • +
                                            principalAmount: bigint
                                          • +
                                          • +
                                            aprBps: bigint
                                          • +
                                          • +
                                            expirationTime: bigint
                                          • +
                                          • +
                                            duration: bigint
                                      +

                                      Returns Promise<`0x${string}`>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            id: bigint;
                                        }
                                        +
                                          +
                                        • +
                                          id: bigint
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              lender: `0x${string}`;
                                              offerId: bigint;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            minId: bigint;
                                        }
                                        +
                                          +
                                        • +
                                          minId: bigint
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              lender: `0x${string}`;
                                              minOfferId: bigint;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            id: bigint;
                                        }
                                        +
                                          +
                                        • +
                                          id: bigint
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              lender: `0x${string}`;
                                              renegotiationId: bigint;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            minId: bigint;
                                        }
                                        +
                                          +
                                        • +
                                          minId: bigint
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              lender: `0x${string}`;
                                              minRenegotiationId: bigint;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loan: {
                                                  contractAddress: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  source: readonly {
                                                      loanId: bigint;
                                                      lender: `0x${string}`;
                                                      principalAmount: bigint;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  }[];
                                                  id: string;
                                              };
                                              loanId: bigint;
                                              offerId: string;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            delegations: `0x${string}`[];
                                            emit: EmitLoanArgs;
                                        }
                                        +
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              results: ({
                                                  loanId: bigint;
                                                  offerId: bigint;
                                                  loan: {
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                  };
                                                  lender: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  fee: bigint;
                                              } | {
                                                  delegate: `0x${string}`;
                                                  collection: `0x${string}`;
                                                  tokenId: bigint;
                                              })[];
                                              loan: {
                                                  contractAddress: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  source: readonly {
                                                      loanId: bigint;
                                                      lender: `0x${string}`;
                                                      principalAmount: bigint;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  }[];
                                                  id: string;
                                              };
                                              loanId: bigint;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            loan: LoanV5;
                                            loanId: bigint;
                                        }
                                        +
                                          +
                                        • +
                                          loan: LoanV5
                                        • +
                                        • +
                                          loanId: bigint
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loanId: bigint;
                                              totalRepayment: bigint;
                                              fee: bigint;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            loan: LoanV5;
                                        }
                                        +
                                      +

                                      Returns Promise<number>

                                    +
                                    + +
                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            renegotiationId: bigint;
                                            refinancings: {
                                                loan: LoanV5;
                                                newAprBps: bigint;
                                                sources: {
                                                    source: {
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        principalAmount: bigint;
                                                        accruedInterest: bigint;
                                                        startTime: bigint;
                                                        aprBps: bigint;
                                                    };
                                                    refinancingPrincipal: bigint;
                                                }[];
                                            }[];
                                        }
                                        +
                                          +
                                        • +
                                          renegotiationId: bigint
                                        • +
                                        • +
                                          refinancings: {
                                              loan: LoanV5;
                                              newAprBps: bigint;
                                              sources: {
                                                  source: {
                                                      loanId: bigint;
                                                      lender: `0x${string}`;
                                                      principalAmount: bigint;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  };
                                                  refinancingPrincipal: bigint;
                                              }[];
                                          }[]
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              results: {
                                                  renegotiationId: bigint;
                                                  oldLoanId: bigint;
                                                  newLoanId: bigint;
                                                  loan: {
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                  };
                                                  fee: bigint;
                                              }[];
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            offer: {
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                            };
                                            signature: `0x${string}`;
                                            loan: LoanV5;
                                        }
                                        +
                                          +
                                        • +
                                          offer: {
                                              renegotiationId: bigint;
                                              loanId: bigint;
                                              lender: `0x${string}`;
                                              fee: bigint;
                                              targetPrincipal: readonly bigint[];
                                              principalAmount: bigint;
                                              aprBps: bigint;
                                              expirationTime: bigint;
                                              duration: bigint;
                                          }
                                          +
                                            +
                                          • +
                                            renegotiationId: bigint
                                          • +
                                          • +
                                            loanId: bigint
                                          • +
                                          • +
                                            lender: `0x${string}`
                                          • +
                                          • +
                                            fee: bigint
                                          • +
                                          • +
                                            targetPrincipal: readonly bigint[]
                                          • +
                                          • +
                                            principalAmount: bigint
                                          • +
                                          • +
                                            aprBps: bigint
                                          • +
                                          • +
                                            expirationTime: bigint
                                          • +
                                          • +
                                            duration: bigint
                                        • +
                                        • +
                                          signature: `0x${string}`
                                        • +
                                        • +
                                          loan: LoanV5
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loan: {
                                                  contractAddress: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  source: readonly {
                                                      loanId: bigint;
                                                      lender: `0x${string}`;
                                                      principalAmount: bigint;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  }[];
                                                  id: string;
                                              };
                                              loanId: bigint;
                                              renegotiationId: string;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            offer: {
                                                renegotiationId: bigint;
                                                loanId: bigint;
                                                lender: `0x${string}`;
                                                fee: bigint;
                                                targetPrincipal: readonly bigint[];
                                                principalAmount: bigint;
                                                aprBps: bigint;
                                                expirationTime: bigint;
                                                duration: bigint;
                                            };
                                            loan: LoanV5;
                                        }
                                        +
                                          +
                                        • +
                                          offer: {
                                              renegotiationId: bigint;
                                              loanId: bigint;
                                              lender: `0x${string}`;
                                              fee: bigint;
                                              targetPrincipal: readonly bigint[];
                                              principalAmount: bigint;
                                              aprBps: bigint;
                                              expirationTime: bigint;
                                              duration: bigint;
                                          }
                                          +
                                            +
                                          • +
                                            renegotiationId: bigint
                                          • +
                                          • +
                                            loanId: bigint
                                          • +
                                          • +
                                            lender: `0x${string}`
                                          • +
                                          • +
                                            fee: bigint
                                          • +
                                          • +
                                            targetPrincipal: readonly bigint[]
                                          • +
                                          • +
                                            principalAmount: bigint
                                          • +
                                          • +
                                            aprBps: bigint
                                          • +
                                          • +
                                            expirationTime: bigint
                                          • +
                                          • +
                                            duration: bigint
                                        • +
                                        • +
                                          loan: LoanV5
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loan: {
                                                  contractAddress: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  source: readonly {
                                                      loanId: bigint;
                                                      lender: `0x${string}`;
                                                      principalAmount: bigint;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  }[];
                                                  id: string;
                                              };
                                              loanId: bigint;
                                              renegotiationId: string;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loan: {
                                                  contractAddress: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  tranche: readonly {
                                                      loanId: bigint;
                                                      floor: bigint;
                                                      principalAmount: bigint;
                                                      lender: `0x${string}`;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  }[];
                                                  protocolFee: bigint;
                                                  id: string;
                                              };
                                              loanId: bigint;
                                              renegotiationId: string;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loan: {
                                                  contractAddress: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint;
                                                  duration: bigint;
                                                  tranche: readonly {
                                                      loanId: bigint;
                                                      floor: bigint;
                                                      principalAmount: bigint;
                                                      lender: `0x${string}`;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  }[];
                                                  protocolFee: bigint;
                                                  id: string;
                                              };
                                              loanId: bigint;
                                              offerIds: string[];
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        delegations: {
                                            loan: LoanV5;
                                            loanId: bigint;
                                            to: `0x${string}`;
                                            rights?: `0x${string}`;
                                            enable: boolean;
                                        }[]
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              results: {
                                                  loanId: bigint;
                                                  delegate: `0x${string}`;
                                                  value: boolean;
                                              }[];
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            loan: LoanV5;
                                            loanId: bigint;
                                            to: `0x${string}`;
                                            rights?: `0x${string}`;
                                            enable: boolean;
                                        }
                                        +
                                          +
                                        • +
                                          loan: LoanV5
                                        • +
                                        • +
                                          loanId: bigint
                                        • +
                                        • +
                                          to: `0x${string}`
                                        • +
                                        • +
                                          Optional rights?: `0x${string}`
                                        • +
                                        • +
                                          enable: boolean
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loan: {
                                                  loanId: bigint;
                                                  contractAddress: `0x${string}`;
                                                  borrower: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  startTime: bigint | bigint & Date;
                                                  duration: bigint;
                                                  source: readonly {
                                                      loanId: bigint;
                                                      lender: `0x${string}`;
                                                      principalAmount: bigint;
                                                      accruedInterest: bigint;
                                                      startTime: bigint;
                                                      aprBps: bigint;
                                                  }[];
                                              };
                                              value: boolean;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            to: `0x${string}`;
                                            collection: `0x${string}`;
                                            tokenId: bigint;
                                        }
                                        +
                                          +
                                        • +
                                          to: `0x${string}`
                                        • +
                                        • +
                                          collection: `0x${string}`
                                        • +
                                        • +
                                          tokenId: bigint
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              delegate: `0x${string}`;
                                              collection: `0x${string}`;
                                              tokenId: bigint;
                                          }>);
                                      }>

                                    +
                                    + +
                                      + +
                                    • +
                                      +

                                      Parameters

                                      +
                                        +
                                      • +
                                        __namedParameters: {
                                            loan: LoanV5;
                                            loanId: bigint;
                                        }
                                        +
                                          +
                                        • +
                                          loan: LoanV5
                                        • +
                                        • +
                                          loanId: bigint
                                      +

                                      Returns Promise<{
                                          txHash: `0x${string}`;
                                          waitTxInBlock: (() => Promise<{
                                              loanId: bigint;
                                          }>);
                                      }>

                                    +
                                    +

                                    Properties

                                    +
                                    + +
                                    abi: readonly [{
                                        stateMutability: "nonpayable";
                                        type: "constructor";
                                        inputs: readonly [{
                                            name: "loanLiquidator";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "protocolFee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            name: "currencyManager";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "collectionManager";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "maxSources";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "minLockPeriod";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "delegateRegistry";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "flashActionContract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "AddressZeroError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledOrExecutedOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "CancelledRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CannotLiquidateError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CollectionNotWhitelistedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "CurrencyNotWhitelistedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ECDSAInvalidSignature";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "length";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "ECDSAInvalidSignatureLength";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "s";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                        name: "ECDSAInvalidSignatureS";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "ExpiredOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "ExpiredRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ExtensionNotAvailableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_amount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_principalAmount";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "InvalidAmountError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidBorrowerError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidCallbackError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidCollateralIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidDurationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidLenderError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidLiquidationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "InvalidLoanError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidMethodError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_fraction";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "InvalidProtocolFeeError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidRenegotiationOfferError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidSignatureError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "InvalidValueError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "LengthMismatchError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_liquidator";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "LiquidatorOnlyError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "LoanExpiredError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_expirationTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LoanNotDueError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_newMinOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LowOfferIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_newMinRenegotiationOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "LowRenegotiationOfferIdError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "MaxCapacityExceededError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "minLockPeriod";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "MinLockPeriodTooHighError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "i";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "returndata";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "MulticallFailed";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "NFTNotReturnedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "NotStrictlyImprovedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "OnlyBorrowerCallableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "OnlyLenderCallableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "OnlyLenderOrBorrowerCallableError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "PartialOfferCannotChangeDurationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "PartialOfferCannotHaveFeeError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "RefinanceFullError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "minTimestamp";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "SourceCannotBeRefinancedError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "sourcePrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "loanPrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "TargetPrincipalTooLowError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "_pendingProtocolFeeSetTime";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "TooEarlyError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [{
                                            name: "sources";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "TooManySourcesError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroDurationError";
                                    }, {
                                        type: "error";
                                        inputs: readonly [];
                                        name: "ZeroInterestError";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "AllOffersCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "minRenegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "AllRenegotiationOffersCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "BorrowerOfferCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newdelegateRegistry";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "DelegateRegistryUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "delegate";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "value";
                                            internalType: "bool";
                                            type: "bool";
                                            indexed: false;
                                        }];
                                        name: "Delegated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newFlashActionContract";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "FlashActionContractUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "target";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "data";
                                            internalType: "bytes";
                                            type: "bytes";
                                            indexed: false;
                                        }];
                                        name: "FlashActionExecuted";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "minimum";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ImprovementMinimumUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newDuration";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LiquidationAuctionDurationUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "liquidator";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "LiquidationContractUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            indexed: false;
                                        }, {
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "borrower";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanEmitted";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "oldLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "newLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            indexed: false;
                                        }, {
                                            name: "_extension";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanExtended";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanForeclosed";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanLiquidated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "oldLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "newLoanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanRefinanced";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "totalRepayment";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "fee";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "LoanRepaid";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }, {
                                            name: "liquidator";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "LoanSentToLiquidator";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "newMax";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "MaxSourcesUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "minLockPeriod";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "MinLockPeriodUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "OfferCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "user";
                                            internalType: "address";
                                            type: "address";
                                            indexed: true;
                                        }, {
                                            name: "newOwner";
                                            internalType: "address";
                                            type: "address";
                                            indexed: true;
                                        }];
                                        name: "OwnershipTransferred";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "fee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ProtocolFeePendingUpdate";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "fee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "ProtocolFeeUpdated";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "lender";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "RenegotiationOfferCancelled";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "delegate";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "collection";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "tokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                            indexed: false;
                                        }];
                                        name: "RevokeDelegate";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "contractAdded";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }, {
                                            name: "tax";
                                            internalType: "struct WithCallbacks.Taxes";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "buyTax";
                                                internalType: "uint128";
                                                type: "uint128";
                                            }, {
                                                name: "sellTax";
                                                internalType: "uint128";
                                                type: "uint128";
                                            }];
                                            indexed: false;
                                        }];
                                        name: "WhitelistedCallbackContractAdded";
                                    }, {
                                        type: "event";
                                        anonymous: false;
                                        inputs: readonly [{
                                            name: "contractRemoved";
                                            internalType: "address";
                                            type: "address";
                                            indexed: false;
                                        }];
                                        name: "WhitelistedCallbackContractRemoved";
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "DOMAIN_SEPARATOR";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "FEE_UPDATE_NOTICE";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "INITIAL_DOMAIN_SEPARATOR";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "MAX_PROTOCOL_FEE";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "MIN_AUCTION_DURATION";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint48";
                                            type: "uint48";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_tax";
                                            internalType: "struct WithCallbacks.Taxes";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "buyTax";
                                                internalType: "uint128";
                                                type: "uint128";
                                            }, {
                                                name: "sellTax";
                                                internalType: "uint128";
                                                type: "uint128";
                                            }];
                                        }];
                                        name: "addWhitelistedCallbackContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_minOfferId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelAllOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_minRenegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelAllRenegotiationOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelOffer";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_offerIds";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }];
                                        name: "cancelOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "cancelRenegotiationOffer";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationIds";
                                            internalType: "uint256[]";
                                            type: "uint256[]";
                                        }];
                                        name: "cancelRenegotiationOffers";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_delegate";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_rights";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }, {
                                            name: "_value";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                        name: "delegate";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_executionData";
                                            internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "executionData";
                                                internalType: "struct IBaseLoan.ExecutionData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "offer";
                                                    internalType: "struct IBaseLoan.LoanOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "capacity";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "validators";
                                                        internalType: "struct IBaseLoan.OfferValidator[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "validator";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "arguments";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "amount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "callbackData";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "lenderOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }, {
                                                name: "borrowerOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                        }];
                                        name: "emitLoan";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_target";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_data";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "executeFlashAction";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_extension";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "extendLoan";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getCollectionManager";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getCurrencyManager";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getDelegateRegistry";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getFlashActionContract";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getImprovementMinimum";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getLiquidationAuctionDuration";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint48";
                                            type: "uint48";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getLiquidator";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getLoanHash";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes32";
                                            type: "bytes32";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getMaxSources";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getMinLockPeriod";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanPrincipal";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getMinSourcePrincipal";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getPendingProtocolFee";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getPendingProtocolFeeSetTime";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getProtocolFee";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "getTotalLoansIssued";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_lender";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_offerId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "getUsedCapacity";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "isBorrowerOfferCancelled";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "isOfferCancelled";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "isRenegotiationOfferCancelled";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "isWhitelistedCallbackContract";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bool";
                                            type: "bool";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "lenderMinRenegotiationOfferId";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "liquidateLoan";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_loanId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "loanLiquidated";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "minOfferId";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                    }, {
                                        stateMutability: "payable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "data";
                                            internalType: "bytes[]";
                                            type: "bytes[]";
                                        }];
                                        name: "multicall";
                                        outputs: readonly [{
                                            name: "results";
                                            internalType: "bytes[]";
                                            type: "bytes[]";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "name";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "string";
                                            type: "string";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "onERC721Received";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "bytes4";
                                            type: "bytes4";
                                        }];
                                    }, {
                                        stateMutability: "view";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "owner";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            name: "_renegotiationOfferSignature";
                                            internalType: "bytes";
                                            type: "bytes";
                                        }];
                                        name: "refinanceFull";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_renegotiationOffer";
                                            internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "targetPrincipal";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "aprBps";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            name: "_loan";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                        name: "refinancePartial";
                                        outputs: readonly [{
                                            name: "";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }, {
                                            name: "";
                                            internalType: "struct IMultiSourceLoan.Loan";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "nftCollateralTokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "nftCollateralAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAddress";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "startTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "source";
                                                internalType: "struct IMultiSourceLoan.Source[]";
                                                type: "tuple[]";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "accruedInterest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_contract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "removeWhitelistedCallbackContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_repaymentData";
                                            internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "data";
                                                internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "callbackData";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }, {
                                                    name: "shouldDelegate";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "borrowerSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                        }];
                                        name: "repayLoan";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_delegate";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_collection";
                                            internalType: "address";
                                            type: "address";
                                        }, {
                                            name: "_tokenId";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "revokeDelegate";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newDelegateRegistry";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "setDelegateRegistry";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newFlashActionContract";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "setFlashActionContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "__maxSources";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "setMaxSources";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "__minLockPeriod";
                                            internalType: "uint256";
                                            type: "uint256";
                                        }];
                                        name: "setMinLockPeriod";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [];
                                        name: "setProtocolFee";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "newOwner";
                                            internalType: "address";
                                            type: "address";
                                        }];
                                        name: "transferOwnership";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newMinimum";
                                            internalType: "struct IBaseLoan.ImprovementMinimum";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "interest";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "duration";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        name: "updateImprovementMinimum";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newDuration";
                                            internalType: "uint48";
                                            type: "uint48";
                                        }];
                                        name: "updateLiquidationAuctionDuration";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "loanLiquidator";
                                            internalType: "contract ILoanLiquidator";
                                            type: "address";
                                        }];
                                        name: "updateLiquidationContract";
                                        outputs: readonly [];
                                    }, {
                                        stateMutability: "nonpayable";
                                        type: "function";
                                        inputs: readonly [{
                                            name: "_newProtocolFee";
                                            internalType: "struct IBaseLoan.ProtocolFee";
                                            type: "tuple";
                                            components: readonly [{
                                                name: "recipient";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }];
                                        name: "updateProtocolFee";
                                        outputs: readonly [];
                                    }]
                                    +
                                    + +
                                    address: `0x${string}`
                                    +
                                    + +
                                    bcClient: {}
                                    +
                                    +

                                    Type declaration

                                    +
                                      +
                                      + +
                                      wallet: {}
                                      +
                                      +

                                      Type declaration

                                      +
                                        +
                                        + +
                                        contract: GetContractReturnType<readonly [{
                                            stateMutability: "nonpayable";
                                            type: "constructor";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "protocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "currencyManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "collectionManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "maxSources";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "delegateRegistry";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "flashActionContract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "AddressZeroError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledOrExecutedOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CannotLiquidateError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CollectionNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CurrencyNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ECDSAInvalidSignature";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "length";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ECDSAInvalidSignatureLength";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "s";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                            name: "ECDSAInvalidSignatureS";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ExtensionNotAvailableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_amount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidAmountError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidBorrowerError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCallbackError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCollateralIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidLenderError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidLiquidationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidLoanError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidMethodError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidProtocolFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidSignatureError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidValueError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LengthMismatchError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_liquidator";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "LiquidatorOnlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LoanExpiredError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LoanNotDueError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinRenegotiationOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowRenegotiationOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "MaxCapacityExceededError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "MinLockPeriodTooHighError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "i";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "returndata";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "MulticallFailed";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NFTNotReturnedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NotStrictlyImprovedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyBorrowerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyLenderCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyLenderOrBorrowerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotChangeDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotHaveFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "RefinanceFullError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "minTimestamp";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "SourceCannotBeRefinancedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sourcePrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TargetPrincipalTooLowError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_pendingProtocolFeeSetTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TooEarlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sources";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TooManySourcesError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroInterestError";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllRenegotiationOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "BorrowerOfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newdelegateRegistry";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "DelegateRegistryUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "delegate";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "value";
                                                internalType: "bool";
                                                type: "bool";
                                                indexed: false;
                                            }];
                                            name: "Delegated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newFlashActionContract";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "FlashActionContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "target";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "data";
                                                internalType: "bytes";
                                                type: "bytes";
                                                indexed: false;
                                            }];
                                            name: "FlashActionExecuted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "minimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ImprovementMinimumUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newDuration";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LiquidationAuctionDurationUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LiquidationContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanEmitted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "oldLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "_extension";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanExtended";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanForeclosed";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanLiquidated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "oldLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRefinanced";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "totalRepayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRepaid";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LoanSentToLiquidator";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newMax";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "MaxSourcesUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "MinLockPeriodUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "OfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }, {
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }];
                                            name: "OwnershipTransferred";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeePendingUpdate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeeUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RenegotiationOfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "delegate";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "collection";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RevokeDelegate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contractAdded";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "tax";
                                                internalType: "struct WithCallbacks.Taxes";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "buyTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }, {
                                                    name: "sellTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractAdded";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contractRemoved";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractRemoved";
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "FEE_UPDATE_NOTICE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "INITIAL_DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MAX_PROTOCOL_FEE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MIN_AUCTION_DURATION";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_tax";
                                                internalType: "struct WithCallbacks.Taxes";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "buyTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }, {
                                                    name: "sellTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }];
                                            }];
                                            name: "addWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_offerIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelRenegotiationOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_delegate";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_rights";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }, {
                                                name: "_value";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            name: "delegate";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_executionData";
                                                internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "executionData";
                                                    internalType: "struct IBaseLoan.ExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "offer";
                                                        internalType: "struct IBaseLoan.LoanOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offerId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "capacity";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "validators";
                                                            internalType: "struct IBaseLoan.OfferValidator[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "validator";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "arguments";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }];
                                                    }, {
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "amount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "callbackData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "lenderOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }, {
                                                    name: "borrowerOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                            name: "emitLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_target";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_data";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "executeFlashAction";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_extension";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "extendLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCollectionManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCurrencyManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getDelegateRegistry";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getFlashActionContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getImprovementMinimum";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidationAuctionDuration";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidator";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getLoanHash";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMaxSources";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMinLockPeriod";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getMinSourcePrincipal";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFeeSetTime";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getTotalLoansIssued";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getUsedCapacity";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isBorrowerOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isRenegotiationOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "isWhitelistedCallbackContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "lenderMinRenegotiationOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "liquidateLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "loanLiquidated";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "minOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "payable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "data";
                                                internalType: "bytes[]";
                                                type: "bytes[]";
                                            }];
                                            name: "multicall";
                                            outputs: readonly [{
                                                name: "results";
                                                internalType: "bytes[]";
                                                type: "bytes[]";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "name";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "string";
                                                type: "string";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "onERC721Received";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes4";
                                                type: "bytes4";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "owner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_renegotiationOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "refinanceFull";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "refinancePartial";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "removeWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_repaymentData";
                                                internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "data";
                                                    internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "callbackData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }, {
                                                        name: "shouldDelegate";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "borrowerSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                            name: "repayLoan";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_delegate";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_collection";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "revokeDelegate";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newDelegateRegistry";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "setDelegateRegistry";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newFlashActionContract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "setFlashActionContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "__maxSources";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "setMaxSources";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "__minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "setMinLockPeriod";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "setProtocolFee";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "transferOwnership";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newMinimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateImprovementMinimum";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newDuration";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            name: "updateLiquidationAuctionDuration";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "contract ILoanLiquidator";
                                                type: "address";
                                            }];
                                            name: "updateLiquidationContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newProtocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateProtocolFee";
                                            outputs: readonly [];
                                        }], {} | {}>
                                        +
                                        + +
                                        safeContractWrite: {
                                            transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                            liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                            onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                            addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                            cancelAllOffers: ((args, options?) => Promise<`0x${string}`>);
                                            cancelAllRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                            cancelOffer: ((args, options?) => Promise<`0x${string}`>);
                                            cancelOffers: ((args, options?) => Promise<`0x${string}`>);
                                            cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>);
                                            cancelRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                            loanLiquidated: ((args, options?) => Promise<`0x${string}`>);
                                            removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                            setProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                            updateImprovementMinimum: ((args, options?) => Promise<`0x${string}`>);
                                            updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>);
                                            updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>);
                                            updateProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                            emitLoan: ((args, options?) => Promise<`0x${string}`>);
                                            refinanceFull: ((args, options?) => Promise<`0x${string}`>);
                                            refinancePartial: ((args, options?) => Promise<`0x${string}`>);
                                            repayLoan: ((args, options?) => Promise<`0x${string}`>);
                                            setMaxSources: ((args, options?) => Promise<`0x${string}`>);
                                            multicall: ((args, options?) => Promise<`0x${string}`>);
                                            delegate: ((args, options?) => Promise<`0x${string}`>);
                                            revokeDelegate: ((args, options?) => Promise<`0x${string}`>);
                                            executeFlashAction: ((args, options?) => Promise<`0x${string}`>);
                                            extendLoan: ((args, options?) => Promise<`0x${string}`>);
                                            setDelegateRegistry: ((args, options?) => Promise<`0x${string}`>);
                                            setFlashActionContract: ((args, options?) => Promise<`0x${string}`>);
                                            setMinLockPeriod: ((args, options?) => Promise<`0x${string}`>);
                                        }
                                        +
                                        +

                                        Type declaration

                                        +
                                          +
                                        • +
                                          transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }] | readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }] & readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`, {
                                                    buyTax: bigint;
                                                    sellTax: bigint;
                                                }] | readonly [`0x${string}`, {
                                                    buyTax: bigint;
                                                    sellTax: bigint;
                                                }] & readonly [`0x${string}`, {
                                                    buyTax: bigint;
                                                    sellTax: bigint;
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          cancelAllOffers: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          cancelAllRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          cancelOffer: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          cancelOffers: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [readonly bigint[]] | readonly [readonly bigint[]] & readonly [readonly bigint[]]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          cancelRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [readonly bigint[]] | readonly [readonly bigint[]] & readonly [readonly bigint[]]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          loanLiquidated: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }] | readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }] & readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          setProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: undefined | readonly []
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          updateImprovementMinimum: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [{
                                                    principalAmount: bigint;
                                                    interest: bigint;
                                                    duration: bigint;
                                                }] | readonly [{
                                                    principalAmount: bigint;
                                                    interest: bigint;
                                                    duration: bigint;
                                                }] & readonly [{
                                                    principalAmount: bigint;
                                                    interest: bigint;
                                                    duration: bigint;
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [number]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          updateProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [{
                                                    recipient: `0x${string}`;
                                                    fraction: bigint;
                                                }] | readonly [{
                                                    recipient: `0x${string}`;
                                                    fraction: bigint;
                                                }] & readonly [{
                                                    recipient: `0x${string}`;
                                                    fraction: bigint;
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          emitLoan: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [{
                                                    executionData: { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; borrower: `0x${string}`; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; tokenId: bigint; amount: bigint; expirationTime: bigint; callbackData: `0x${string}`; };
                                                    lender: `0x${string}`;
                                                    borrower: `0x${string}`;
                                                    lenderOfferSignature: `0x${string}`;
                                                    borrowerOfferSignature: `0x${string}`;
                                                }] | readonly [{
                                                    executionData: { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; borrower: `0x${string}`; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; tokenId: bigint; amount: bigint; expirationTime: bigint; callbackData: `0x${string}`; };
                                                    lender: `0x${string}`;
                                                    borrower: `0x${string}`;
                                                    lenderOfferSignature: `0x${string}`;
                                                    borrowerOfferSignature: `0x${string}`;
                                                }] & readonly [{
                                                    executionData: { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; borrower: `0x${string}`; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; tokenId: bigint; amount: bigint; expirationTime: bigint; callbackData: `0x${string}`; };
                                                    lender: `0x${string}`;
                                                    borrower: `0x${string}`;
                                                    lenderOfferSignature: `0x${string}`;
                                                    borrowerOfferSignature: `0x${string}`;
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          refinanceFull: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [{
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    targetPrincipal: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                }, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`] | readonly [{
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    targetPrincipal: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                }, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`] & readonly [{
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    targetPrincipal: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                }, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          refinancePartial: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [{
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    targetPrincipal: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                }, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }] | readonly [{
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    targetPrincipal: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                }, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }] & readonly [{
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    targetPrincipal: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                }, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          repayLoan: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [{
                                                    data: { loanId: bigint; callbackData: `0x${string}`; shouldDelegate: Widen<boolean>; };
                                                    loan: { borrower: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}`; principalAddress: `0x${string}`; principalAmount: bigint; startTime: bigint; duration: bigint; source: readonly { loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[]; };
                                                    borrowerSignature: `0x${string}`;
                                                }] | readonly [{
                                                    data: { loanId: bigint; callbackData: `0x${string}`; shouldDelegate: boolean; };
                                                    loan: { borrower: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}`; principalAddress: `0x${string}`; principalAmount: bigint; startTime: bigint; duration: bigint; source: readonly { loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[]; };
                                                    borrowerSignature: `0x${string}`;
                                                }] & readonly [{
                                                    data: { loanId: bigint; callbackData: `0x${string}`; shouldDelegate: Widen<boolean>; };
                                                    loan: { borrower: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}`; principalAddress: `0x${string}`; principalAmount: bigint; startTime: bigint; duration: bigint; source: readonly { loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[]; };
                                                    borrowerSignature: `0x${string}`;
                                                }]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          setMaxSources: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          multicall: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [readonly `0x${string}`[]] | readonly [readonly `0x${string}`[]] & readonly [readonly `0x${string}`[]]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          delegate: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`, `0x${string}`, Widen<boolean>] | readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`, `0x${string}`, boolean] & readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`, `0x${string}`, Widen<boolean>]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          revokeDelegate: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`, `0x${string}`, bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          executeFlashAction: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`, `0x${string}`] | readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`, `0x${string}`] & readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, `0x${string}`, `0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          extendLoan: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, bigint] | readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, bigint] & readonly [bigint, {
                                                    borrower: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    startTime: bigint;
                                                    duration: bigint;
                                                    source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                }, bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          setDelegateRegistry: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          setFlashActionContract: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [`0x${string}`]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        • +
                                        • +
                                          setMinLockPeriod: ((args, options?) => Promise<`0x${string}`>)
                                          +
                                            +
                                          • +
                                              +
                                            • (args, options?): Promise<`0x${string}`>
                                            • +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                args: readonly [bigint]
                                              • +
                                              • +
                                                Optional options: {
                                                    value?: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  Optional value?: bigint
                                              +

                                              Returns Promise<`0x${string}`>

                                        +
                                        + +
                                        parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                            stateMutability: "nonpayable";
                                            type: "constructor";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "protocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "currencyManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "collectionManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "maxSources";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "delegateRegistry";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "flashActionContract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "AddressZeroError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledOrExecutedOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CannotLiquidateError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CollectionNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CurrencyNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ECDSAInvalidSignature";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "length";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ECDSAInvalidSignatureLength";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "s";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                            name: "ECDSAInvalidSignatureS";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ExtensionNotAvailableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_amount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidAmountError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidBorrowerError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCallbackError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCollateralIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidLenderError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidLiquidationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidLoanError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidMethodError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_fraction";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidProtocolFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidSignatureError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidValueError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LengthMismatchError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_liquidator";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "LiquidatorOnlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LoanExpiredError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LoanNotDueError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinRenegotiationOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowRenegotiationOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "MaxCapacityExceededError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "MinLockPeriodTooHighError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "i";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "returndata";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "MulticallFailed";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NFTNotReturnedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NotStrictlyImprovedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyBorrowerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyLenderCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "OnlyLenderOrBorrowerCallableError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotChangeDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "PartialOfferCannotHaveFeeError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "RefinanceFullError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "minTimestamp";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "SourceCannotBeRefinancedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sourcePrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TargetPrincipalTooLowError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_pendingProtocolFeeSetTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TooEarlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "sources";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TooManySourcesError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroInterestError";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllRenegotiationOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "BorrowerOfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newdelegateRegistry";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "DelegateRegistryUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "delegate";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "value";
                                                internalType: "bool";
                                                type: "bool";
                                                indexed: false;
                                            }];
                                            name: "Delegated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newFlashActionContract";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "FlashActionContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "target";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "data";
                                                internalType: "bytes";
                                                type: "bytes";
                                                indexed: false;
                                            }];
                                            name: "FlashActionExecuted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "minimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ImprovementMinimumUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newDuration";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LiquidationAuctionDurationUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LiquidationContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "borrower";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanEmitted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "oldLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "_extension";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanExtended";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanForeclosed";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanLiquidated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "oldLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRefinanced";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "totalRepayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRepaid";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LoanSentToLiquidator";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newMax";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "MaxSourcesUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "MinLockPeriodUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "OfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }, {
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }];
                                            name: "OwnershipTransferred";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeePendingUpdate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeeUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RenegotiationOfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "delegate";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "collection";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RevokeDelegate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contractAdded";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "tax";
                                                internalType: "struct WithCallbacks.Taxes";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "buyTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }, {
                                                    name: "sellTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractAdded";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contractRemoved";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractRemoved";
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "FEE_UPDATE_NOTICE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "INITIAL_DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MAX_PROTOCOL_FEE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MIN_AUCTION_DURATION";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_tax";
                                                internalType: "struct WithCallbacks.Taxes";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "buyTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }, {
                                                    name: "sellTax";
                                                    internalType: "uint128";
                                                    type: "uint128";
                                                }];
                                            }];
                                            name: "addWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_minRenegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_offerIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelRenegotiationOffer";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                            }];
                                            name: "cancelRenegotiationOffers";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_delegate";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_rights";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }, {
                                                name: "_value";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            name: "delegate";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_executionData";
                                                internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "executionData";
                                                    internalType: "struct IBaseLoan.ExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "offer";
                                                        internalType: "struct IBaseLoan.LoanOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offerId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "capacity";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "validators";
                                                            internalType: "struct IBaseLoan.OfferValidator[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "validator";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "arguments";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }];
                                                    }, {
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "amount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "callbackData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "lenderOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }, {
                                                    name: "borrowerOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                            name: "emitLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_target";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_data";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "executeFlashAction";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_extension";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "extendLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCollectionManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCurrencyManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getDelegateRegistry";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getFlashActionContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getImprovementMinimum";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidationAuctionDuration";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidator";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getLoanHash";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMaxSources";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMinLockPeriod";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanPrincipal";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getMinSourcePrincipal";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFeeSetTime";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getTotalLoansIssued";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getUsedCapacity";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isBorrowerOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isRenegotiationOfferCancelled";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "isWhitelistedCallbackContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "lenderMinRenegotiationOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "liquidateLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "loanLiquidated";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "minOfferId";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                        }, {
                                            stateMutability: "payable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "data";
                                                internalType: "bytes[]";
                                                type: "bytes[]";
                                            }];
                                            name: "multicall";
                                            outputs: readonly [{
                                                name: "results";
                                                internalType: "bytes[]";
                                                type: "bytes[]";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "name";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "string";
                                                type: "string";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "onERC721Received";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes4";
                                                type: "bytes4";
                                            }];
                                        }, {
                                            stateMutability: "view";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "owner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                name: "_renegotiationOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "refinanceFull";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "targetPrincipal";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                            name: "refinancePartial";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "source";
                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "removeWhitelistedCallbackContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_repaymentData";
                                                internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "data";
                                                    internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "callbackData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }, {
                                                        name: "shouldDelegate";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "borrowerSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                            name: "repayLoan";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_delegate";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_collection";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "revokeDelegate";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newDelegateRegistry";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "setDelegateRegistry";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newFlashActionContract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "setFlashActionContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "__maxSources";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "setMaxSources";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "__minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "setMinLockPeriod";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [];
                                            name: "setProtocolFee";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "transferOwnership";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newMinimum";
                                                internalType: "struct IBaseLoan.ImprovementMinimum";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "interest";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateImprovementMinimum";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newDuration";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            name: "updateLiquidationAuctionDuration";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "contract ILoanLiquidator";
                                                type: "address";
                                            }];
                                            name: "updateLiquidationContract";
                                            outputs: readonly [];
                                        }, {
                                            stateMutability: "nonpayable";
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newProtocolFee";
                                                internalType: "struct IBaseLoan.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateProtocolFee";
                                            outputs: readonly [];
                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated" | "BorrowerOfferCancelled" | "RevokeDelegate" | "DelegateRegistryUpdated" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "LoanExtended" | "MinLockPeriodUpdated")[]
                                            ? TFunctionName[number]
                                            : TFunctionName>)
                                        +
                                        +

                                        Type declaration

                                        +
                                          +
                                        • +
                                            +
                                          • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                                                stateMutability: "nonpayable";
                                                type: "constructor";
                                                inputs: readonly [{
                                                    name: "loanLiquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "currencyManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "collectionManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "maxSources";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "delegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "flashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "AddressZeroError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "CancelledOrExecutedOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "CancelledRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CannotLiquidateError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CollectionNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CurrencyNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ECDSAInvalidSignature";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "length";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ECDSAInvalidSignatureLength";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "s";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                name: "ECDSAInvalidSignatureS";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ExpiredOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ExpiredRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ExtensionNotAvailableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_amount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidAmountError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidBorrowerError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCallbackError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCollateralIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidLenderError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidLiquidationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidLoanError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidMethodError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidProtocolFeeError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidSignatureError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidValueError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LengthMismatchError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "LiquidatorOnlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LoanExpiredError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LoanNotDueError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinRenegotiationOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowRenegotiationOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "MaxCapacityExceededError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "MinLockPeriodTooHighError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "i";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "returndata";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "MulticallFailed";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NFTNotReturnedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NotStrictlyImprovedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "OnlyBorrowerCallableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "OnlyLenderCallableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "OnlyLenderOrBorrowerCallableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "PartialOfferCannotChangeDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "PartialOfferCannotHaveFeeError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "RefinanceFullError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "minTimestamp";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "SourceCannotBeRefinancedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "sourcePrincipal";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanPrincipal";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TargetPrincipalTooLowError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_pendingProtocolFeeSetTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TooEarlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "sources";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TooManySourcesError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ZeroDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ZeroInterestError";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "AllOffersCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "minRenegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "AllRenegotiationOffersCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "BorrowerOfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newdelegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "DelegateRegistryUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                    indexed: false;
                                                }];
                                                name: "Delegated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "target";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionExecuted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "minimum";
                                                    internalType: "struct IBaseLoan.ImprovementMinimum";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "interest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ImprovementMinimumUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newDuration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationAuctionDurationUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanEmitted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "oldLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "_extension";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanExtended";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanForeclosed";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanLiquidated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "oldLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRefinanced";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "totalRepayment";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRepaid";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LoanSentToLiquidator";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newMax";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MaxSourcesUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinLockPeriodUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "OfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }];
                                                name: "OwnershipTransferred";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeePendingUpdate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeeUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RenegotiationOfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "collection";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RevokeDelegate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractAdded";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "tax";
                                                    internalType: "struct WithCallbacks.Taxes";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "buyTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }, {
                                                        name: "sellTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractAdded";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractRemoved";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractRemoved";
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "FEE_UPDATE_NOTICE";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "INITIAL_DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MAX_PROTOCOL_FEE";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_AUCTION_DURATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_tax";
                                                    internalType: "struct WithCallbacks.Taxes";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "buyTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }, {
                                                        name: "sellTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }];
                                                }];
                                                name: "addWhitelistedCallbackContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelAllOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_minRenegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelAllRenegotiationOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelOffer";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_offerIds";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }];
                                                name: "cancelOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelRenegotiationOffer";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationIds";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }];
                                                name: "cancelRenegotiationOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_rights";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }, {
                                                    name: "_value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                name: "delegate";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_executionData";
                                                    internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "executionData";
                                                        internalType: "struct IBaseLoan.ExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offer";
                                                            internalType: "struct IBaseLoan.LoanOffer";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "capacity";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "validators";
                                                                internalType: "struct IBaseLoan.OfferValidator[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "validator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "arguments";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }];
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "amount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "lenderOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }, {
                                                        name: "borrowerOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "emitLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_target";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "executeFlashAction";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_extension";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "extendLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCollectionManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCurrencyManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getDelegateRegistry";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getFlashActionContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getImprovementMinimum";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct IBaseLoan.ImprovementMinimum";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "interest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidationAuctionDuration";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidator";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getLoanHash";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMaxSources";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMinLockPeriod";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanPrincipal";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getMinSourcePrincipal";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFeeSetTime";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getTotalLoansIssued";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getUsedCapacity";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isBorrowerOfferCancelled";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isOfferCancelled";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isRenegotiationOfferCancelled";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "isWhitelistedCallbackContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "lenderMinRenegotiationOfferId";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                                name: "liquidateLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                                name: "loanLiquidated";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "minOfferId";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "payable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "data";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                                name: "multicall";
                                                outputs: readonly [{
                                                    name: "results";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "name";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "string";
                                                    type: "string";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "onERC721Received";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes4";
                                                    type: "bytes4";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "owner";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "targetPrincipal";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_renegotiationOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "refinanceFull";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "targetPrincipal";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                                name: "refinancePartial";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "removeWhitelistedCallbackContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_repaymentData";
                                                    internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "data";
                                                        internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }, {
                                                            name: "shouldDelegate";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "source";
                                                            internalType: "struct IMultiSourceLoan.Source[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                    }, {
                                                        name: "borrowerSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "repayLoan";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_collection";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "revokeDelegate";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newDelegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "setDelegateRegistry";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "setFlashActionContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__maxSources";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "setMaxSources";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "setMinLockPeriod";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "setProtocolFee";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "transferOwnership";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newMinimum";
                                                    internalType: "struct IBaseLoan.ImprovementMinimum";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "interest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "updateImprovementMinimum";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newDuration";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                name: "updateLiquidationAuctionDuration";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "loanLiquidator";
                                                    internalType: "contract ILoanLiquidator";
                                                    type: "address";
                                                }];
                                                name: "updateLiquidationContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newProtocolFee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "updateProtocolFee";
                                                outputs: readonly [];
                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated" | "BorrowerOfferCancelled" | "RevokeDelegate" | "DelegateRegistryUpdated" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "LoanExtended" | "MinLockPeriodUpdated")[]
                                                ? TFunctionName[number]
                                                : TFunctionName>
                                          • +
                                          • +
                                            +

                                            Type Parameters

                                            +
                                              +
                                            • +

                                              TFunctionName extends "OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated" | "BorrowerOfferCancelled" | "RevokeDelegate" | "DelegateRegistryUpdated" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "LoanExtended" | "MinLockPeriodUpdated"

                                            +
                                            +

                                            Parameters

                                            +
                                              +
                                            • +
                                              eventName: TFunctionName
                                            • +
                                            • +
                                              logs: Log<bigint, number, false>[]
                                            +

                                            Returns ParseEventLogsReturnType<readonly [{
                                                stateMutability: "nonpayable";
                                                type: "constructor";
                                                inputs: readonly [{
                                                    name: "loanLiquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "currencyManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "collectionManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "maxSources";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "delegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "flashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "AddressZeroError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "CancelledOrExecutedOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "CancelledRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CannotLiquidateError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CollectionNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CurrencyNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ECDSAInvalidSignature";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "length";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ECDSAInvalidSignatureLength";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "s";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                name: "ECDSAInvalidSignatureS";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ExpiredOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ExpiredRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ExtensionNotAvailableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_amount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidAmountError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidBorrowerError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCallbackError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCollateralIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidLenderError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidLiquidationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidLoanError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidMethodError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidProtocolFeeError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidSignatureError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidValueError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LengthMismatchError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "LiquidatorOnlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LoanExpiredError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LoanNotDueError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinRenegotiationOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowRenegotiationOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "MaxCapacityExceededError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "MinLockPeriodTooHighError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "i";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "returndata";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "MulticallFailed";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NFTNotReturnedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NotStrictlyImprovedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "OnlyBorrowerCallableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "OnlyLenderCallableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "OnlyLenderOrBorrowerCallableError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "PartialOfferCannotChangeDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "PartialOfferCannotHaveFeeError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "RefinanceFullError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "minTimestamp";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "SourceCannotBeRefinancedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "sourcePrincipal";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanPrincipal";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TargetPrincipalTooLowError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_pendingProtocolFeeSetTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TooEarlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "sources";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TooManySourcesError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ZeroDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ZeroInterestError";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "AllOffersCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "minRenegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "AllRenegotiationOffersCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "BorrowerOfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newdelegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "DelegateRegistryUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                    indexed: false;
                                                }];
                                                name: "Delegated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "target";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionExecuted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "minimum";
                                                    internalType: "struct IBaseLoan.ImprovementMinimum";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "interest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ImprovementMinimumUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newDuration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationAuctionDurationUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanEmitted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "oldLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "_extension";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanExtended";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanForeclosed";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanLiquidated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "oldLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRefinanced";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "totalRepayment";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRepaid";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LoanSentToLiquidator";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newMax";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MaxSourcesUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinLockPeriodUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "OfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }];
                                                name: "OwnershipTransferred";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeePendingUpdate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeeUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RenegotiationOfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "collection";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RevokeDelegate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractAdded";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "tax";
                                                    internalType: "struct WithCallbacks.Taxes";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "buyTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }, {
                                                        name: "sellTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractAdded";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractRemoved";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractRemoved";
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "FEE_UPDATE_NOTICE";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "INITIAL_DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MAX_PROTOCOL_FEE";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_AUCTION_DURATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_tax";
                                                    internalType: "struct WithCallbacks.Taxes";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "buyTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }, {
                                                        name: "sellTax";
                                                        internalType: "uint128";
                                                        type: "uint128";
                                                    }];
                                                }];
                                                name: "addWhitelistedCallbackContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelAllOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_minRenegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelAllRenegotiationOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelOffer";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_offerIds";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }];
                                                name: "cancelOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelRenegotiationOffer";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationIds";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }];
                                                name: "cancelRenegotiationOffers";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_rights";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }, {
                                                    name: "_value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                name: "delegate";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_executionData";
                                                    internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "executionData";
                                                        internalType: "struct IBaseLoan.ExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offer";
                                                            internalType: "struct IBaseLoan.LoanOffer";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "capacity";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "validators";
                                                                internalType: "struct IBaseLoan.OfferValidator[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "validator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "arguments";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }];
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "amount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "lenderOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }, {
                                                        name: "borrowerOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "emitLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_target";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "executeFlashAction";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_extension";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "extendLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCollectionManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCurrencyManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getDelegateRegistry";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getFlashActionContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getImprovementMinimum";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct IBaseLoan.ImprovementMinimum";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "interest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidationAuctionDuration";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidator";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getLoanHash";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMaxSources";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMinLockPeriod";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanPrincipal";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getMinSourcePrincipal";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFeeSetTime";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getTotalLoansIssued";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getUsedCapacity";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isBorrowerOfferCancelled";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isOfferCancelled";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isRenegotiationOfferCancelled";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "isWhitelistedCallbackContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "lenderMinRenegotiationOfferId";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                                name: "liquidateLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                                name: "loanLiquidated";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "minOfferId";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                stateMutability: "payable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "data";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                                name: "multicall";
                                                outputs: readonly [{
                                                    name: "results";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "name";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "string";
                                                    type: "string";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "onERC721Received";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes4";
                                                    type: "bytes4";
                                                }];
                                            }, {
                                                stateMutability: "view";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "owner";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "targetPrincipal";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }, {
                                                    name: "_renegotiationOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "refinanceFull";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "targetPrincipal";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                                name: "refinancePartial";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "source";
                                                        internalType: "struct IMultiSourceLoan.Source[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                }];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "removeWhitelistedCallbackContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_repaymentData";
                                                    internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "data";
                                                        internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }, {
                                                            name: "shouldDelegate";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "source";
                                                            internalType: "struct IMultiSourceLoan.Source[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                    }, {
                                                        name: "borrowerSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "repayLoan";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_collection";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "revokeDelegate";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newDelegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "setDelegateRegistry";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "setFlashActionContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__maxSources";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "setMaxSources";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "setMinLockPeriod";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [];
                                                name: "setProtocolFee";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "transferOwnership";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newMinimum";
                                                    internalType: "struct IBaseLoan.ImprovementMinimum";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "interest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "updateImprovementMinimum";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newDuration";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                name: "updateLiquidationAuctionDuration";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "loanLiquidator";
                                                    internalType: "contract ILoanLiquidator";
                                                    type: "address";
                                                }];
                                                name: "updateLiquidationContract";
                                                outputs: readonly [];
                                            }, {
                                                stateMutability: "nonpayable";
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newProtocolFee";
                                                    internalType: "struct IBaseLoan.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "updateProtocolFee";
                                                outputs: readonly [];
                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated" | "BorrowerOfferCancelled" | "RevokeDelegate" | "DelegateRegistryUpdated" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "LoanExtended" | "MinLockPeriodUpdated")[]
                                                ? TFunctionName[number]
                                                : TFunctionName>

                                        +
                                        + +
                                        +
                                        \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.MslV6.html b/docs/0.15.0b2/classes/Internal.MslV6.html new file mode 100644 index 00000000..166eee8c --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.MslV6.html @@ -0,0 +1,1256 @@ +MslV6 | Gondi JS SDK - v0.15.0b2
                                        +
                                        + +
                                        +
                                        +
                                        +
                                        + +

                                        Class MslV6

                                        +
                                        +

                                        Hierarchy

                                        +
                                        +
                                        +
                                        +
                                        + +
                                        +
                                        +

                                        Constructors

                                        +
                                        + +
                                        +
                                        +

                                        Methods

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                structToSign: {
                                                    offerId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    capacity: bigint;
                                                    nftCollateralAddress: `0x${string}`;
                                                    nftCollateralTokenId: bigint;
                                                    principalAddress: `0x${string}`;
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                    maxSeniorRepayment: bigint;
                                                    validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                                };
                                            }
                                            +
                                              +
                                            • +
                                              structToSign: {
                                                  offerId: bigint;
                                                  lender: `0x${string}`;
                                                  fee: bigint;
                                                  capacity: bigint;
                                                  nftCollateralAddress: `0x${string}`;
                                                  nftCollateralTokenId: bigint;
                                                  principalAddress: `0x${string}`;
                                                  principalAmount: bigint;
                                                  aprBps: bigint;
                                                  expirationTime: bigint;
                                                  duration: bigint;
                                                  maxSeniorRepayment: bigint;
                                                  validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[];
                                              }
                                              +
                                                +
                                              • +
                                                offerId: bigint
                                              • +
                                              • +
                                                lender: `0x${string}`
                                              • +
                                              • +
                                                fee: bigint
                                              • +
                                              • +
                                                capacity: bigint
                                              • +
                                              • +
                                                nftCollateralAddress: `0x${string}`
                                              • +
                                              • +
                                                nftCollateralTokenId: bigint
                                              • +
                                              • +
                                                principalAddress: `0x${string}`
                                              • +
                                              • +
                                                principalAmount: bigint
                                              • +
                                              • +
                                                aprBps: bigint
                                              • +
                                              • +
                                                expirationTime: bigint
                                              • +
                                              • +
                                                duration: bigint
                                              • +
                                              • +
                                                maxSeniorRepayment: bigint
                                              • +
                                              • +
                                                validators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[]
                                          +

                                          Returns Promise<`0x${string}`>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                structToSign: {
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    trancheIndex: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                };
                                            }
                                            +
                                              +
                                            • +
                                              structToSign: {
                                                  renegotiationId: bigint;
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  fee: bigint;
                                                  trancheIndex: readonly bigint[];
                                                  principalAmount: bigint;
                                                  aprBps: bigint;
                                                  expirationTime: bigint;
                                                  duration: bigint;
                                              }
                                              +
                                                +
                                              • +
                                                renegotiationId: bigint
                                              • +
                                              • +
                                                loanId: bigint
                                              • +
                                              • +
                                                lender: `0x${string}`
                                              • +
                                              • +
                                                fee: bigint
                                              • +
                                              • +
                                                trancheIndex: readonly bigint[]
                                              • +
                                              • +
                                                principalAmount: bigint
                                              • +
                                              • +
                                                aprBps: bigint
                                              • +
                                              • +
                                                expirationTime: bigint
                                              • +
                                              • +
                                                duration: bigint
                                          +

                                          Returns Promise<`0x${string}`>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                id: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              id: bigint
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  lender: `0x${string}`;
                                                  offerId: bigint;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                minId: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              minId: bigint
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  lender: `0x${string}`;
                                                  minOfferId: bigint;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                id: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              id: bigint
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  lender: `0x${string}`;
                                                  renegotiationId: bigint;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            _: {
                                                minId: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              minId: bigint
                                          +

                                          Returns Promise<void>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loan: {
                                                      contractAddress: `0x${string}`;
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      tranche: readonly {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      }[];
                                                      protocolFee: bigint;
                                                      id: string;
                                                  };
                                                  loanId: bigint;
                                                  offerIds: string[];
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                delegations: `0x${string}`[];
                                                emit: EmitLoanArgs;
                                            }
                                            +
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  results: ({
                                                      loanId: bigint;
                                                      offerId: readonly bigint[];
                                                      loan: {
                                                          borrower: `0x${string}`;
                                                          nftCollateralTokenId: bigint;
                                                          nftCollateralAddress: `0x${string}`;
                                                          principalAddress: `0x${string}`;
                                                          principalAmount: bigint;
                                                          startTime: bigint;
                                                          duration: bigint;
                                                          tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                          protocolFee: bigint;
                                                      };
                                                      fee: bigint;
                                                  } | {
                                                      delegate: `0x${string}`;
                                                      collection: `0x${string}`;
                                                      tokenId: bigint;
                                                  })[];
                                                  loan: {
                                                      contractAddress: `0x${string}`;
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      tranche: readonly {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      }[];
                                                      protocolFee: bigint;
                                                      id: string;
                                                  };
                                                  loanId: bigint;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                loan: LoanV6;
                                                loanId: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              loan: LoanV6
                                            • +
                                            • +
                                              loanId: bigint
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loanId: bigint;
                                                  totalRepayment: bigint;
                                                  fee: bigint;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                loan: LoanV6;
                                            }
                                            +
                                          +

                                          Returns Promise<number>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                loan: LoanV6;
                                            }
                                            +
                                          +

                                          Returns Promise<boolean>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                renegotiationId: bigint;
                                                refinancings: {
                                                    loan: LoanV6;
                                                    newAprBps: bigint;
                                                    sources: {
                                                        source: {
                                                            loanId: bigint;
                                                            floor: bigint;
                                                            principalAmount: bigint;
                                                            lender: `0x${string}`;
                                                            accruedInterest: bigint;
                                                            startTime: bigint;
                                                            aprBps: bigint;
                                                        } & {
                                                            loanIndex: number;
                                                        };
                                                        refinancingPrincipal: bigint;
                                                    }[];
                                                }[];
                                            }
                                            +
                                              +
                                            • +
                                              renegotiationId: bigint
                                            • +
                                            • +
                                              refinancings: {
                                                  loan: LoanV6;
                                                  newAprBps: bigint;
                                                  sources: {
                                                      source: {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      } & {
                                                          loanIndex: number;
                                                      };
                                                      refinancingPrincipal: bigint;
                                                  }[];
                                              }[]
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  results: {
                                                      renegotiationId: bigint;
                                                      oldLoanId: bigint;
                                                      newLoanId: bigint;
                                                      loan: {
                                                          borrower: `0x${string}`;
                                                          nftCollateralTokenId: bigint;
                                                          nftCollateralAddress: `0x${string}`;
                                                          principalAddress: `0x${string}`;
                                                          principalAmount: bigint;
                                                          startTime: bigint;
                                                          duration: bigint;
                                                          tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                          protocolFee: bigint;
                                                      };
                                                      fee: bigint;
                                                  }[];
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                offer: {
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    trancheIndex: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                };
                                                signature: `0x${string}`;
                                                loan: LoanV6;
                                            }
                                            +
                                              +
                                            • +
                                              offer: {
                                                  renegotiationId: bigint;
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  fee: bigint;
                                                  trancheIndex: readonly bigint[];
                                                  principalAmount: bigint;
                                                  aprBps: bigint;
                                                  expirationTime: bigint;
                                                  duration: bigint;
                                              }
                                              +
                                                +
                                              • +
                                                renegotiationId: bigint
                                              • +
                                              • +
                                                loanId: bigint
                                              • +
                                              • +
                                                lender: `0x${string}`
                                              • +
                                              • +
                                                fee: bigint
                                              • +
                                              • +
                                                trancheIndex: readonly bigint[]
                                              • +
                                              • +
                                                principalAmount: bigint
                                              • +
                                              • +
                                                aprBps: bigint
                                              • +
                                              • +
                                                expirationTime: bigint
                                              • +
                                              • +
                                                duration: bigint
                                            • +
                                            • +
                                              signature: `0x${string}`
                                            • +
                                            • +
                                              loan: LoanV6
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loan: {
                                                      contractAddress: `0x${string}`;
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      tranche: readonly {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      }[];
                                                      protocolFee: bigint;
                                                      id: string;
                                                  };
                                                  loanId: bigint;
                                                  renegotiationId: string;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                offer: {
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    trancheIndex: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                };
                                                loan: LoanV6;
                                            }
                                            +
                                              +
                                            • +
                                              offer: {
                                                  renegotiationId: bigint;
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  fee: bigint;
                                                  trancheIndex: readonly bigint[];
                                                  principalAmount: bigint;
                                                  aprBps: bigint;
                                                  expirationTime: bigint;
                                                  duration: bigint;
                                              }
                                              +
                                                +
                                              • +
                                                renegotiationId: bigint
                                              • +
                                              • +
                                                loanId: bigint
                                              • +
                                              • +
                                                lender: `0x${string}`
                                              • +
                                              • +
                                                fee: bigint
                                              • +
                                              • +
                                                trancheIndex: readonly bigint[]
                                              • +
                                              • +
                                                principalAmount: bigint
                                              • +
                                              • +
                                                aprBps: bigint
                                              • +
                                              • +
                                                expirationTime: bigint
                                              • +
                                              • +
                                                duration: bigint
                                            • +
                                            • +
                                              loan: LoanV6
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loan: {
                                                      contractAddress: `0x${string}`;
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      tranche: readonly {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      }[];
                                                      protocolFee: bigint;
                                                      id: string;
                                                  };
                                                  loanId: bigint;
                                                  renegotiationId: string;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                offer: {
                                                    renegotiationId: bigint;
                                                    loanId: bigint;
                                                    lender: `0x${string}`;
                                                    fee: bigint;
                                                    trancheIndex: readonly bigint[];
                                                    principalAmount: bigint;
                                                    aprBps: bigint;
                                                    expirationTime: bigint;
                                                    duration: bigint;
                                                };
                                                signature: `0x${string}`;
                                                loan: LoanV6;
                                            }
                                            +
                                              +
                                            • +
                                              offer: {
                                                  renegotiationId: bigint;
                                                  loanId: bigint;
                                                  lender: `0x${string}`;
                                                  fee: bigint;
                                                  trancheIndex: readonly bigint[];
                                                  principalAmount: bigint;
                                                  aprBps: bigint;
                                                  expirationTime: bigint;
                                                  duration: bigint;
                                              }
                                              +
                                                +
                                              • +
                                                renegotiationId: bigint
                                              • +
                                              • +
                                                loanId: bigint
                                              • +
                                              • +
                                                lender: `0x${string}`
                                              • +
                                              • +
                                                fee: bigint
                                              • +
                                              • +
                                                trancheIndex: readonly bigint[]
                                              • +
                                              • +
                                                principalAmount: bigint
                                              • +
                                              • +
                                                aprBps: bigint
                                              • +
                                              • +
                                                expirationTime: bigint
                                              • +
                                              • +
                                                duration: bigint
                                            • +
                                            • +
                                              signature: `0x${string}`
                                            • +
                                            • +
                                              loan: LoanV6
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loan: {
                                                      contractAddress: `0x${string}`;
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      tranche: readonly {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      }[];
                                                      protocolFee: bigint;
                                                      id: string;
                                                  };
                                                  loanId: bigint;
                                                  renegotiationId: string;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loan: {
                                                      contractAddress: `0x${string}`;
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint;
                                                      duration: bigint;
                                                      tranche: readonly {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      }[];
                                                      protocolFee: bigint;
                                                      id: string;
                                                  };
                                                  loanId: bigint;
                                                  offerIds: string[];
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            delegations: {
                                                loan: LoanV6;
                                                loanId: bigint;
                                                to: `0x${string}`;
                                                rights?: `0x${string}`;
                                                enable: boolean;
                                            }[]
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  results: {
                                                      loanId: bigint;
                                                      delegate: `0x${string}`;
                                                      value: boolean;
                                                  }[];
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                loan: LoanV6;
                                                loanId: bigint;
                                                to: `0x${string}`;
                                                rights?: `0x${string}`;
                                                enable: boolean;
                                            }
                                            +
                                              +
                                            • +
                                              loan: LoanV6
                                            • +
                                            • +
                                              loanId: bigint
                                            • +
                                            • +
                                              to: `0x${string}`
                                            • +
                                            • +
                                              Optional rights?: `0x${string}`
                                            • +
                                            • +
                                              enable: boolean
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loan: {
                                                      loanId: bigint;
                                                      contractAddress: `0x${string}`;
                                                      borrower: `0x${string}`;
                                                      nftCollateralTokenId: bigint;
                                                      nftCollateralAddress: `0x${string}`;
                                                      principalAddress: `0x${string}`;
                                                      principalAmount: bigint;
                                                      startTime: bigint | bigint & Date;
                                                      duration: bigint;
                                                      tranche: readonly {
                                                          loanId: bigint;
                                                          floor: bigint;
                                                          principalAmount: bigint;
                                                          lender: `0x${string}`;
                                                          accruedInterest: bigint;
                                                          startTime: bigint;
                                                          aprBps: bigint;
                                                      }[];
                                                      protocolFee: bigint;
                                                      contractStartTime: bigint | Date;
                                                  };
                                                  value: boolean;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                to: `0x${string}`;
                                                collection: `0x${string}`;
                                                tokenId: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              to: `0x${string}`
                                            • +
                                            • +
                                              collection: `0x${string}`
                                            • +
                                            • +
                                              tokenId: bigint
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  delegate: `0x${string}`;
                                                  collection: `0x${string}`;
                                                  tokenId: bigint;
                                              }>);
                                          }>

                                        +
                                        + +
                                          + +
                                        • +
                                          +

                                          Parameters

                                          +
                                            +
                                          • +
                                            __namedParameters: {
                                                loan: LoanV6;
                                                loanId: bigint;
                                            }
                                            +
                                              +
                                            • +
                                              loan: LoanV6
                                            • +
                                            • +
                                              loanId: bigint
                                          +

                                          Returns Promise<{
                                              txHash: `0x${string}`;
                                              waitTxInBlock: (() => Promise<{
                                                  loanId: bigint;
                                              }>);
                                          }>

                                        +
                                        +

                                        Properties

                                        +
                                        + +
                                        abi: readonly [{
                                            type: "constructor";
                                            inputs: readonly [{
                                                name: "loanLiquidator";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "protocolFee";
                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "currencyManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "collectionManager";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "maxTranches";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "delegateRegistry";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "loanManagerRegistry";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "flashActionContract";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "minWaitTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "AddressZeroError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "CancelledOrExecutedOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CollectionNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "CurrencyNotWhitelistedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ECDSAInvalidSignature";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "length";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ECDSAInvalidSignatureLength";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "s";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                            name: "ECDSAInvalidSignatureS";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "ExpiredOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidAddressesError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_amount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_principalAmount";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidAmountError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCallbackError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCallerError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidCollateralIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidDurationError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidInputError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "InvalidLoanError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidMethodError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidParametersError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidRenegotiationOfferError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidSignatureError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "InvalidTrancheError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_liquidator";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "LiquidatorOnlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LoanExpiredError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "LoanLockedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_expirationTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LoanNotDueError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_newMinRenegotiationOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "LowRenegotiationOfferIdError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "MaxCapacityExceededError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "MismatchError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "i";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "returndata";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "MulticallFailed";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NFTNotReturnedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "NotStrictlyImprovedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "_pendingProtocolFeeSetTime";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TooEarlyError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "TooManyTranchesError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "TooSoonError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [{
                                                name: "minTimestamp";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "TrancheCannotBeRefinancedError";
                                        }, {
                                            type: "error";
                                            inputs: readonly [];
                                            name: "ZeroInterestError";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "AllOffersCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "delegate";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "value";
                                                internalType: "bool";
                                                type: "bool";
                                                indexed: false;
                                            }];
                                            name: "Delegated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newFlashActionContract";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "FlashActionContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "target";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "data";
                                                internalType: "bytes";
                                                type: "bytes";
                                                indexed: false;
                                            }];
                                            name: "FlashActionExecuted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newDuration";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LiquidationAuctionDurationUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LiquidationContractUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanEmitted";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanForeclosed";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanLiquidated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "oldLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRefinanced";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "newLoanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }, {
                                                name: "offerIds";
                                                internalType: "uint256[]";
                                                type: "uint256[]";
                                                indexed: false;
                                            }, {
                                                name: "totalFee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRefinancedFromNewOffers";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "totalRepayment";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "fee";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "LoanRepaid";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }, {
                                                name: "liquidator";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "LoanSentToLiquidator";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "_minimum";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "MinAprImprovementUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newMinBid";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "MinBidLiquidationUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "MinLockPeriodUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "OfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }, {
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                                indexed: true;
                                            }];
                                            name: "OwnershipTransferred";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeePendingUpdate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "fee";
                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                indexed: false;
                                            }];
                                            name: "ProtocolFeeUpdated";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "lender";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RenegotiationOfferCancelled";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "delegate";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "collection";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }, {
                                                name: "tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                                indexed: false;
                                            }];
                                            name: "RevokeDelegate";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "TransferOwnerRequested";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contractAdded";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractAdded";
                                        }, {
                                            type: "event";
                                            anonymous: false;
                                            inputs: readonly [{
                                                name: "contractRemoved";
                                                internalType: "address";
                                                type: "address";
                                                indexed: false;
                                            }];
                                            name: "WhitelistedCallbackContractRemoved";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "FEE_UPDATE_NOTICE";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "INITIAL_DOMAIN_SEPARATOR";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MAX_AUCTION_DURATION";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MIN_AUCTION_DURATION";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MIN_BID_LIQUIDATION";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "MIN_WAIT_TIME";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "VERSION";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "trancheIndex";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_renegotiationOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "addNewTranche";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "addWhitelistedCallbackContract";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelAllOffers";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelOffer";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "cancelRenegotiationOffer";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_delegate";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_rights";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }, {
                                                name: "_value";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            name: "delegate";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanExecutionData";
                                                internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "executionData";
                                                    internalType: "struct IMultiSourceLoan.ExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "offerExecution";
                                                        internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "offer";
                                                            internalType: "struct IMultiSourceLoan.LoanOffer";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "capacity";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "maxSeniorRepayment";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "validators";
                                                                internalType: "struct IBaseLoan.OfferValidator[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "validator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "arguments";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }];
                                                        }, {
                                                            name: "amount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lenderOfferSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalReceiver";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "callbackData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "borrowerOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                            name: "emitLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_target";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_data";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "executeFlashAction";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCollectionManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getCurrencyManager";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getDelegateRegistry";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getFlashActionContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidationAuctionDuration";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLiquidator";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getLoanHash";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes32";
                                                type: "bytes32";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getLoanManagerRegistry";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "contract ILoanManagerRegistry";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMaxTranches";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMinImprovementApr";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getMinLockPeriod";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getPendingProtocolFeeSetTime";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getProtocolFee";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "getTotalLoansIssued";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_lender";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "getUsedCapacity";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "offerId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isOfferCancelled";
                                            outputs: readonly [{
                                                name: "notActive";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "renegotiationIf";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "isRenegotiationOfferCancelled";
                                            outputs: readonly [{
                                                name: "notActive";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "isWhitelistedCallbackContract";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bool";
                                                type: "bool";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "liquidateLoan";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "loanLiquidated";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "user";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "minOfferId";
                                            outputs: readonly [{
                                                name: "minOfferId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "data";
                                                internalType: "bytes[]";
                                                type: "bytes[]";
                                            }];
                                            name: "multicall";
                                            outputs: readonly [{
                                                name: "results";
                                                internalType: "bytes[]";
                                                type: "bytes[]";
                                            }];
                                            stateMutability: "payable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "name";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "string";
                                                type: "string";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "onERC721Received";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "bytes4";
                                                type: "bytes4";
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "owner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "pendingOwner";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "pendingOwnerTime";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            stateMutability: "view";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_loanId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loanExecutionData";
                                                internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "executionData";
                                                    internalType: "struct IMultiSourceLoan.ExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "offerExecution";
                                                        internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "offer";
                                                            internalType: "struct IMultiSourceLoan.LoanOffer";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "capacity";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "maxSeniorRepayment";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "validators";
                                                                internalType: "struct IBaseLoan.OfferValidator[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "validator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "arguments";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }];
                                                        }, {
                                                            name: "amount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lenderOfferSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalReceiver";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "callbackData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }, {
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "borrowerOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                            name: "refinanceFromLoanExecutionData";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "trancheIndex";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_renegotiationOfferSignature";
                                                internalType: "bytes";
                                                type: "bytes";
                                            }];
                                            name: "refinanceFull";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_renegotiationOffer";
                                                internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "trancheIndex";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "aprBps";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }, {
                                                name: "_loan";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "refinancePartial";
                                            outputs: readonly [{
                                                name: "";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }, {
                                                name: "";
                                                internalType: "struct IMultiSourceLoan.Loan";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "borrower";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "nftCollateralTokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "nftCollateralAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAddress";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "startTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "duration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "tranche";
                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                    type: "tuple[]";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "floor";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "accruedInterest";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_contract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "removeWhitelistedCallbackContract";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_repaymentData";
                                                internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "data";
                                                    internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "callbackData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }, {
                                                        name: "shouldDelegate";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "borrowerSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                            }];
                                            name: "repayLoan";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newOwner";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "requestTransferOwner";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_delegate";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_collection";
                                                internalType: "address";
                                                type: "address";
                                            }, {
                                                name: "_tokenId";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "revokeDelegate";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newFlashActionContract";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "setFlashActionContract";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "__minLockPeriod";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "setMinLockPeriod";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "setProtocolFee";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [];
                                            name: "transferOwnership";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "newOwner";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "transferOwnership";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newDuration";
                                                internalType: "uint48";
                                                type: "uint48";
                                            }];
                                            name: "updateLiquidationAuctionDuration";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "__loanLiquidator";
                                                internalType: "address";
                                                type: "address";
                                            }];
                                            name: "updateLiquidationContract";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newMinimum";
                                                internalType: "uint256";
                                                type: "uint256";
                                            }];
                                            name: "updateMinImprovementApr";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }, {
                                            type: "function";
                                            inputs: readonly [{
                                                name: "_newProtocolFee";
                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                type: "tuple";
                                                components: readonly [{
                                                    name: "recipient";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "fraction";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                            }];
                                            name: "updateProtocolFee";
                                            outputs: readonly [];
                                            stateMutability: "nonpayable";
                                        }]
                                        +
                                        + +
                                        address: `0x${string}`
                                        +
                                        + +
                                        bcClient: {}
                                        +
                                        +

                                        Type declaration

                                        +
                                          +
                                          + +
                                          wallet: {}
                                          +
                                          +

                                          Type declaration

                                          +
                                            +
                                            + +
                                            contract: GetContractReturnType<readonly [{
                                                type: "constructor";
                                                inputs: readonly [{
                                                    name: "loanLiquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "currencyManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "collectionManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "maxTranches";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "delegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "loanManagerRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "flashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "minWaitTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "AddressZeroError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "CancelledOrExecutedOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CollectionNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CurrencyNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ECDSAInvalidSignature";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "length";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ECDSAInvalidSignatureLength";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "s";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                name: "ECDSAInvalidSignatureS";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ExpiredOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidAddressesError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_amount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidAmountError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCallbackError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCallerError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCollateralIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidInputError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidLoanError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidMethodError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidParametersError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidSignatureError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidTrancheError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "LiquidatorOnlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LoanExpiredError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LoanLockedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LoanNotDueError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinRenegotiationOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowRenegotiationOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "MaxCapacityExceededError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "MismatchError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "i";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "returndata";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "MulticallFailed";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NFTNotReturnedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NotStrictlyImprovedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_pendingProtocolFeeSetTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TooEarlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "TooManyTranchesError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "TooSoonError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "minTimestamp";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TrancheCannotBeRefinancedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ZeroInterestError";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "AllOffersCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                    indexed: false;
                                                }];
                                                name: "Delegated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "target";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionExecuted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newDuration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationAuctionDurationUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanEmitted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanForeclosed";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanLiquidated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "oldLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRefinanced";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "offerIds";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                    indexed: false;
                                                }, {
                                                    name: "totalFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRefinancedFromNewOffers";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "totalRepayment";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRepaid";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LoanSentToLiquidator";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "_minimum";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinAprImprovementUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newMinBid";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinBidLiquidationUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinLockPeriodUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "OfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }];
                                                name: "OwnershipTransferred";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeePendingUpdate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeeUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RenegotiationOfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "collection";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RevokeDelegate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "TransferOwnerRequested";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractAdded";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractAdded";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractRemoved";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractRemoved";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "FEE_UPDATE_NOTICE";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "INITIAL_DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MAX_AUCTION_DURATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_AUCTION_DURATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_BID_LIQUIDATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_WAIT_TIME";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "VERSION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "trancheIndex";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_renegotiationOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "addNewTranche";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "addWhitelistedCallbackContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelAllOffers";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelOffer";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelRenegotiationOffer";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_rights";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }, {
                                                    name: "_value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                name: "delegate";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanExecutionData";
                                                    internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "executionData";
                                                        internalType: "struct IMultiSourceLoan.ExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offerExecution";
                                                            internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "offer";
                                                                internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "offerId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "capacity";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "expirationTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "maxSeniorRepayment";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "validators";
                                                                    internalType: "struct IBaseLoan.OfferValidator[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "validator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "arguments";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                }];
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lenderOfferSignature";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalReceiver";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "borrowerOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "emitLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_target";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "executeFlashAction";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCollectionManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCurrencyManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getDelegateRegistry";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getFlashActionContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidationAuctionDuration";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidator";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getLoanHash";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLoanManagerRegistry";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "contract ILoanManagerRegistry";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMaxTranches";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMinImprovementApr";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMinLockPeriod";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFeeSetTime";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getTotalLoansIssued";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getUsedCapacity";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isOfferCancelled";
                                                outputs: readonly [{
                                                    name: "notActive";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "renegotiationIf";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isRenegotiationOfferCancelled";
                                                outputs: readonly [{
                                                    name: "notActive";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "isWhitelistedCallbackContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "liquidateLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "loanLiquidated";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "minOfferId";
                                                outputs: readonly [{
                                                    name: "minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "data";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                                name: "multicall";
                                                outputs: readonly [{
                                                    name: "results";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                                stateMutability: "payable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "name";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "string";
                                                    type: "string";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "onERC721Received";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes4";
                                                    type: "bytes4";
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "owner";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "pendingOwner";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "pendingOwnerTime";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loanExecutionData";
                                                    internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "executionData";
                                                        internalType: "struct IMultiSourceLoan.ExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offerExecution";
                                                            internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "offer";
                                                                internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "offerId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "capacity";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "expirationTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "maxSeniorRepayment";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "validators";
                                                                    internalType: "struct IBaseLoan.OfferValidator[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "validator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "arguments";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                }];
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lenderOfferSignature";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalReceiver";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "borrowerOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "refinanceFromLoanExecutionData";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "trancheIndex";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_renegotiationOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "refinanceFull";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "trancheIndex";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "refinancePartial";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "removeWhitelistedCallbackContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_repaymentData";
                                                    internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "data";
                                                        internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }, {
                                                            name: "shouldDelegate";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "borrowerSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "repayLoan";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "requestTransferOwner";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_collection";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "revokeDelegate";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "setFlashActionContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "setMinLockPeriod";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "setProtocolFee";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "transferOwnership";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "transferOwnership";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newDuration";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                name: "updateLiquidationAuctionDuration";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__loanLiquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "updateLiquidationContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newMinimum";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "updateMinImprovementApr";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newProtocolFee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "updateProtocolFee";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }], {} | {}>
                                            +
                                            + +
                                            safeContractWrite: {
                                                transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                                onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                cancelAllOffers: ((args, options?) => Promise<`0x${string}`>);
                                                cancelOffer: ((args, options?) => Promise<`0x${string}`>);
                                                cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>);
                                                loanLiquidated: ((args, options?) => Promise<`0x${string}`>);
                                                removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                setProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>);
                                                updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>);
                                                updateProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                emitLoan: ((args, options?) => Promise<`0x${string}`>);
                                                refinanceFull: ((args, options?) => Promise<`0x${string}`>);
                                                refinancePartial: ((args, options?) => Promise<`0x${string}`>);
                                                repayLoan: ((args, options?) => Promise<`0x${string}`>);
                                                multicall: ((args, options?) => Promise<`0x${string}`>);
                                                delegate: ((args, options?) => Promise<`0x${string}`>);
                                                revokeDelegate: ((args, options?) => Promise<`0x${string}`>);
                                                executeFlashAction: ((args, options?) => Promise<`0x${string}`>);
                                                setFlashActionContract: ((args, options?) => Promise<`0x${string}`>);
                                                setMinLockPeriod: ((args, options?) => Promise<`0x${string}`>);
                                                requestTransferOwner: ((args, options?) => Promise<`0x${string}`>);
                                                updateMinImprovementApr: ((args, options?) => Promise<`0x${string}`>);
                                                addNewTranche: ((args, options?) => Promise<`0x${string}`>);
                                                refinanceFromLoanExecutionData: ((args, options?) => Promise<`0x${string}`>);
                                            }
                                            +
                                            +

                                            Type declaration

                                            +
                                              +
                                            • +
                                              transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: undefined | readonly [] | readonly [`0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              liquidateLoan: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }] | readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }] & readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [`0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              cancelAllOffers: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              cancelOffer: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              loanLiquidated: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }] | readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }] & readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [`0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              setProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: undefined | readonly []
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [number]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [`0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              updateProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [{
                                                        recipient: `0x${string}`;
                                                        fraction: bigint;
                                                    }] | readonly [{
                                                        recipient: `0x${string}`;
                                                        fraction: bigint;
                                                    }] & readonly [{
                                                        recipient: `0x${string}`;
                                                        fraction: bigint;
                                                    }]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              emitLoan: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [{
                                                        executionData: { offerExecution: readonly { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; maxSeniorRepayment: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; amount: bigint; lenderOfferSignature: `0x${string}`; }[]; tokenId: bigint; duration: bigint; expirationTime: bigint; principalReceiver: `0x${string}`; callbackData: `0x${string}`; };
                                                        borrower: `0x${string}`;
                                                        borrowerOfferSignature: `0x${string}`;
                                                    }] | readonly [{
                                                        executionData: { offerExecution: readonly { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; maxSeniorRepayment: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; amount: bigint; lenderOfferSignature: `0x${string}`; }[]; tokenId: bigint; duration: bigint; expirationTime: bigint; principalReceiver: `0x${string}`; callbackData: `0x${string}`; };
                                                        borrower: `0x${string}`;
                                                        borrowerOfferSignature: `0x${string}`;
                                                    }] & readonly [{
                                                        executionData: { offerExecution: readonly { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; maxSeniorRepayment: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; amount: bigint; lenderOfferSignature: `0x${string}`; }[]; tokenId: bigint; duration: bigint; expirationTime: bigint; principalReceiver: `0x${string}`; callbackData: `0x${string}`; };
                                                        borrower: `0x${string}`;
                                                        borrowerOfferSignature: `0x${string}`;
                                                    }]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              refinanceFull: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`] | readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`] & readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              refinancePartial: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }] | readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }] & readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              repayLoan: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [{
                                                        data: { loanId: bigint; callbackData: `0x${string}`; shouldDelegate: Widen<boolean>; };
                                                        loan: { borrower: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}`; principalAddress: `0x${string}`; principalAmount: bigint; startTime: bigint; duration: bigint; tranche: readonly { loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[]; protocolFee: bigint; };
                                                        borrowerSignature: `0x${string}`;
                                                    }] | readonly [{
                                                        data: { loanId: bigint; callbackData: `0x${string}`; shouldDelegate: boolean; };
                                                        loan: { borrower: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}`; principalAddress: `0x${string}`; principalAmount: bigint; startTime: bigint; duration: bigint; tranche: readonly { loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[]; protocolFee: bigint; };
                                                        borrowerSignature: `0x${string}`;
                                                    }] & readonly [{
                                                        data: { loanId: bigint; callbackData: `0x${string}`; shouldDelegate: Widen<boolean>; };
                                                        loan: { borrower: `0x${string}`; nftCollateralTokenId: bigint; nftCollateralAddress: `0x${string}`; principalAddress: `0x${string}`; principalAmount: bigint; startTime: bigint; duration: bigint; tranche: readonly { loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; }[]; protocolFee: bigint; };
                                                        borrowerSignature: `0x${string}`;
                                                    }]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              multicall: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [readonly `0x${string}`[]] | readonly [readonly `0x${string}`[]] & readonly [readonly `0x${string}`[]]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              delegate: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`, `0x${string}`, Widen<boolean>] | readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`, `0x${string}`, boolean] & readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`, `0x${string}`, Widen<boolean>]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              revokeDelegate: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [`0x${string}`, `0x${string}`, bigint]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              executeFlashAction: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`, `0x${string}`] | readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`, `0x${string}`] & readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`, `0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              setFlashActionContract: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [`0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              setMinLockPeriod: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              requestTransferOwner: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [`0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              updateMinImprovementApr: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              addNewTranche: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`] | readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`] & readonly [{
                                                        renegotiationId: bigint;
                                                        loanId: bigint;
                                                        lender: `0x${string}`;
                                                        fee: bigint;
                                                        trancheIndex: readonly bigint[];
                                                        principalAmount: bigint;
                                                        aprBps: bigint;
                                                        expirationTime: bigint;
                                                        duration: bigint;
                                                    }, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, `0x${string}`]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            • +
                                            • +
                                              refinanceFromLoanExecutionData: ((args, options?) => Promise<`0x${string}`>)
                                              +
                                                +
                                              • +
                                                  +
                                                • (args, options?): Promise<`0x${string}`>
                                                • +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    args: readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, {
                                                        executionData: { offerExecution: readonly { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; maxSeniorRepayment: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; amount: bigint; lenderOfferSignature: `0x${string}`; }[]; tokenId: bigint; duration: bigint; expirationTime: bigint; principalReceiver: `0x${string}`; callbackData: `0x${string}`; };
                                                        borrower: `0x${string}`;
                                                        borrowerOfferSignature: `0x${string}`;
                                                    }] | readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, {
                                                        executionData: { offerExecution: readonly { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; maxSeniorRepayment: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; amount: bigint; lenderOfferSignature: `0x${string}`; }[]; tokenId: bigint; duration: bigint; expirationTime: bigint; principalReceiver: `0x${string}`; callbackData: `0x${string}`; };
                                                        borrower: `0x${string}`;
                                                        borrowerOfferSignature: `0x${string}`;
                                                    }] & readonly [bigint, {
                                                        borrower: `0x${string}`;
                                                        nftCollateralTokenId: bigint;
                                                        nftCollateralAddress: `0x${string}`;
                                                        principalAddress: `0x${string}`;
                                                        principalAmount: bigint;
                                                        startTime: bigint;
                                                        duration: bigint;
                                                        tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                        protocolFee: bigint;
                                                    }, {
                                                        executionData: { offerExecution: readonly { offer: { offerId: bigint; lender: `0x${string}`; fee: bigint; capacity: bigint; nftCollateralAddress: `0x${string}`; nftCollateralTokenId: bigint; principalAddress: `0x${string}`; principalAmount: bigint; aprBps: bigint; expirationTime: bigint; duration: bigint; maxSeniorRepayment: bigint; validators: readonly { validator: `0x${string}`; arguments: `0x${string}`; }[]; }; amount: bigint; lenderOfferSignature: `0x${string}`; }[]; tokenId: bigint; duration: bigint; expirationTime: bigint; principalReceiver: `0x${string}`; callbackData: `0x${string}`; };
                                                        borrower: `0x${string}`;
                                                        borrowerOfferSignature: `0x${string}`;
                                                    }]
                                                  • +
                                                  • +
                                                    Optional options: {
                                                        value?: bigint;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      Optional value?: bigint
                                                  +

                                                  Returns Promise<`0x${string}`>

                                            +
                                            + +
                                            parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                type: "constructor";
                                                inputs: readonly [{
                                                    name: "loanLiquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "protocolFee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "currencyManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "collectionManager";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "maxTranches";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "delegateRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "loanManagerRegistry";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "flashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "minWaitTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "AddressZeroError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "CancelledOrExecutedOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CollectionNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "CurrencyNotWhitelistedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ECDSAInvalidSignature";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "length";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ECDSAInvalidSignatureLength";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "s";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                name: "ECDSAInvalidSignatureS";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ExpiredOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidAddressesError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_amount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_principalAmount";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidAmountError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCallbackError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCallerError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidCollateralIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidDurationError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidInputError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "InvalidLoanError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidMethodError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidParametersError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidRenegotiationOfferError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidSignatureError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "InvalidTrancheError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "LiquidatorOnlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LoanExpiredError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "LoanLockedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_expirationTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LoanNotDueError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_newMinRenegotiationOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "LowRenegotiationOfferIdError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "MaxCapacityExceededError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "MismatchError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "i";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "returndata";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "MulticallFailed";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NFTNotReturnedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "NotStrictlyImprovedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "_pendingProtocolFeeSetTime";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TooEarlyError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "TooManyTranchesError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "TooSoonError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [{
                                                    name: "minTimestamp";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "TrancheCannotBeRefinancedError";
                                            }, {
                                                type: "error";
                                                inputs: readonly [];
                                                name: "ZeroInterestError";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "AllOffersCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                    indexed: false;
                                                }];
                                                name: "Delegated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "target";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                    indexed: false;
                                                }];
                                                name: "FlashActionExecuted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newDuration";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationAuctionDurationUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LiquidationContractUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanEmitted";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanForeclosed";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanLiquidated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "oldLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRefinanced";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "newLoanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }, {
                                                    name: "offerIds";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                    indexed: false;
                                                }, {
                                                    name: "totalFee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRefinancedFromNewOffers";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "totalRepayment";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "fee";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "LoanRepaid";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }, {
                                                    name: "liquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "LoanSentToLiquidator";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "_minimum";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinAprImprovementUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newMinBid";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinBidLiquidationUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "MinLockPeriodUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "OfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }];
                                                name: "OwnershipTransferred";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeePendingUpdate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "fee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    indexed: false;
                                                }];
                                                name: "ProtocolFeeUpdated";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "lender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RenegotiationOfferCancelled";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "collection";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }, {
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: false;
                                                }];
                                                name: "RevokeDelegate";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "TransferOwnerRequested";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractAdded";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractAdded";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "contractRemoved";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: false;
                                                }];
                                                name: "WhitelistedCallbackContractRemoved";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "FEE_UPDATE_NOTICE";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "INITIAL_DOMAIN_SEPARATOR";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MAX_AUCTION_DURATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_AUCTION_DURATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_BID_LIQUIDATION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "MIN_WAIT_TIME";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "VERSION";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "trancheIndex";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_renegotiationOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "addNewTranche";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "addWhitelistedCallbackContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelAllOffers";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelOffer";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "cancelRenegotiationOffer";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_rights";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }, {
                                                    name: "_value";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                name: "delegate";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanExecutionData";
                                                    internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "executionData";
                                                        internalType: "struct IMultiSourceLoan.ExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offerExecution";
                                                            internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "offer";
                                                                internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "offerId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "capacity";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "expirationTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "maxSeniorRepayment";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "validators";
                                                                    internalType: "struct IBaseLoan.OfferValidator[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "validator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "arguments";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                }];
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lenderOfferSignature";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalReceiver";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "borrowerOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "emitLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_target";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "executeFlashAction";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCollectionManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getCurrencyManager";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getDelegateRegistry";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getFlashActionContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidationAuctionDuration";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLiquidator";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getLoanHash";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes32";
                                                    type: "bytes32";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getLoanManagerRegistry";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "contract ILoanManagerRegistry";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMaxTranches";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMinImprovementApr";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getMinLockPeriod";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getPendingProtocolFeeSetTime";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getProtocolFee";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "getTotalLoansIssued";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_lender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getUsedCapacity";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "offerId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isOfferCancelled";
                                                outputs: readonly [{
                                                    name: "notActive";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "renegotiationIf";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "isRenegotiationOfferCancelled";
                                                outputs: readonly [{
                                                    name: "notActive";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "isWhitelistedCallbackContract";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "liquidateLoan";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "loanLiquidated";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "minOfferId";
                                                outputs: readonly [{
                                                    name: "minOfferId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "data";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                                name: "multicall";
                                                outputs: readonly [{
                                                    name: "results";
                                                    internalType: "bytes[]";
                                                    type: "bytes[]";
                                                }];
                                                stateMutability: "payable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "name";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "string";
                                                    type: "string";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "onERC721Received";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bytes4";
                                                    type: "bytes4";
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "owner";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "pendingOwner";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "pendingOwnerTime";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_loanId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loanExecutionData";
                                                    internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "executionData";
                                                        internalType: "struct IMultiSourceLoan.ExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "offerExecution";
                                                            internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "offer";
                                                                internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "offerId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "capacity";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "expirationTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "maxSeniorRepayment";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "validators";
                                                                    internalType: "struct IBaseLoan.OfferValidator[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "validator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "arguments";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                }];
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lenderOfferSignature";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalReceiver";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }, {
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "borrowerOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "refinanceFromLoanExecutionData";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "trancheIndex";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_renegotiationOfferSignature";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "refinanceFull";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_renegotiationOffer";
                                                    internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "trancheIndex";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "aprBps";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }, {
                                                    name: "_loan";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "refinancePartial";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "";
                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "borrower";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "nftCollateralTokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "nftCollateralAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "startTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "duration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "tranche";
                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "floor";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "accruedInterest";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_contract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "removeWhitelistedCallbackContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_repaymentData";
                                                    internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "data";
                                                        internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "callbackData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }, {
                                                            name: "shouldDelegate";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "borrowerSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                }];
                                                name: "repayLoan";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "requestTransferOwner";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_delegate";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_collection";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "_tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "revokeDelegate";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newFlashActionContract";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "setFlashActionContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__minLockPeriod";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "setMinLockPeriod";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "setProtocolFee";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "transferOwnership";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "newOwner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "transferOwnership";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newDuration";
                                                    internalType: "uint48";
                                                    type: "uint48";
                                                }];
                                                name: "updateLiquidationAuctionDuration";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "__loanLiquidator";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "updateLiquidationContract";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newMinimum";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "updateMinImprovementApr";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "_newProtocolFee";
                                                    internalType: "struct WithProtocolFee.ProtocolFee";
                                                    type: "tuple";
                                                    components: readonly [{
                                                        name: "recipient";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "fraction";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                }];
                                                name: "updateProtocolFee";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "RevokeDelegate" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "MinLockPeriodUpdated" | "MinAprImprovementUpdated" | "MinBidLiquidationUpdated" | "TransferOwnerRequested" | "LoanRefinancedFromNewOffers")[]
                                                ? TFunctionName[number]
                                                : TFunctionName>)
                                            +
                                            +

                                            Type declaration

                                            +
                                              +
                                            • +
                                                +
                                              • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                                                    type: "constructor";
                                                    inputs: readonly [{
                                                        name: "loanLiquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "currencyManager";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "collectionManager";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "maxTranches";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "minLockPeriod";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "delegateRegistry";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "loanManagerRegistry";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "flashActionContract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "minWaitTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "AddressZeroError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "CancelledOrExecutedOfferError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "CollectionNotWhitelistedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "CurrencyNotWhitelistedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "ECDSAInvalidSignature";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "length";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "ECDSAInvalidSignatureLength";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "s";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    name: "ECDSAInvalidSignatureS";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "ExpiredOfferError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidAddressesError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_amount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "InvalidAmountError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidCallbackError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidCallerError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidCollateralIdError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidDurationError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidInputError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "InvalidLoanError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidMethodError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidParametersError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidRenegotiationOfferError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidSignatureError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidTrancheError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_liquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "LiquidatorOnlyError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "LoanExpiredError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "LoanLockedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "LoanNotDueError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_newMinOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "LowOfferIdError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_newMinRenegotiationOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "LowRenegotiationOfferIdError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "MaxCapacityExceededError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "MismatchError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "i";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "returndata";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "MulticallFailed";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "NFTNotReturnedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "NotStrictlyImprovedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_pendingProtocolFeeSetTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "TooEarlyError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "TooManyTranchesError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "TooSoonError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "minTimestamp";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "TrancheCannotBeRefinancedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "ZeroInterestError";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "AllOffersCancelled";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "value";
                                                        internalType: "bool";
                                                        type: "bool";
                                                        indexed: false;
                                                    }];
                                                    name: "Delegated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newFlashActionContract";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "FlashActionContractUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "target";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "data";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                        indexed: false;
                                                    }];
                                                    name: "FlashActionExecuted";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newDuration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LiquidationAuctionDurationUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "liquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "LiquidationContractUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "offerId";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                        indexed: false;
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanEmitted";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanForeclosed";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanLiquidated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "oldLoanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "newLoanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanRefinanced";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "newLoanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }, {
                                                        name: "offerIds";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                        indexed: false;
                                                    }, {
                                                        name: "totalFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanRefinancedFromNewOffers";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "totalRepayment";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanRepaid";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "liquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanSentToLiquidator";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "_minimum";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "MinAprImprovementUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newMinBid";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "MinBidLiquidationUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "minLockPeriod";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "MinLockPeriodUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "OfferCancelled";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }];
                                                    name: "OwnershipTransferred";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "fee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "ProtocolFeePendingUpdate";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "fee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "ProtocolFeeUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "RenegotiationOfferCancelled";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "collection";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "RevokeDelegate";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "TransferOwnerRequested";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "contractAdded";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "WhitelistedCallbackContractAdded";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "contractRemoved";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "WhitelistedCallbackContractRemoved";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "DOMAIN_SEPARATOR";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "FEE_UPDATE_NOTICE";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "INITIAL_DOMAIN_SEPARATOR";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MAX_AUCTION_DURATION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MIN_AUCTION_DURATION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MIN_BID_LIQUIDATION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MIN_WAIT_TIME";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "VERSION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationOffer";
                                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "renegotiationId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "trancheIndex";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_renegotiationOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "addNewTranche";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_contract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "addWhitelistedCallbackContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "cancelAllOffers";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "cancelOffer";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "cancelRenegotiationOffer";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_rights";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }, {
                                                        name: "_value";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    name: "delegate";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanExecutionData";
                                                        internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "executionData";
                                                            internalType: "struct IMultiSourceLoan.ExecutionData";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerExecution";
                                                                internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "offer";
                                                                    internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                    type: "tuple";
                                                                    components: readonly [{
                                                                        name: "offerId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "fee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "capacity";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "nftCollateralAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "nftCollateralTokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "expirationTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "duration";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "maxSeniorRepayment";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "validators";
                                                                        internalType: "struct IBaseLoan.OfferValidator[]";
                                                                        type: "tuple[]";
                                                                        components: readonly [{
                                                                            name: "validator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "arguments";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                    }];
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lenderOfferSignature";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalReceiver";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "callbackData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "borrowerOfferSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }];
                                                    name: "emitLoan";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_target";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_data";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "executeFlashAction";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getCollectionManager";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getCurrencyManager";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getDelegateRegistry";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getFlashActionContract";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getLiquidationAuctionDuration";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getLiquidator";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "getLoanHash";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getLoanManagerRegistry";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "contract ILoanManagerRegistry";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getMaxTranches";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getMinImprovementApr";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getMinLockPeriod";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingProtocolFee";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingProtocolFeeSetTime";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getProtocolFee";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getTotalLoansIssued";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "getUsedCapacity";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "isOfferCancelled";
                                                    outputs: readonly [{
                                                        name: "notActive";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "renegotiationIf";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "isRenegotiationOfferCancelled";
                                                    outputs: readonly [{
                                                        name: "notActive";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_contract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "isWhitelistedCallbackContract";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "liquidateLoan";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "loanLiquidated";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "minOfferId";
                                                    outputs: readonly [{
                                                        name: "minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "data";
                                                        internalType: "bytes[]";
                                                        type: "bytes[]";
                                                    }];
                                                    name: "multicall";
                                                    outputs: readonly [{
                                                        name: "results";
                                                        internalType: "bytes[]";
                                                        type: "bytes[]";
                                                    }];
                                                    stateMutability: "payable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "name";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "onERC721Received";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes4";
                                                        type: "bytes4";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "owner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "pendingOwner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "pendingOwnerTime";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loanExecutionData";
                                                        internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "executionData";
                                                            internalType: "struct IMultiSourceLoan.ExecutionData";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerExecution";
                                                                internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "offer";
                                                                    internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                    type: "tuple";
                                                                    components: readonly [{
                                                                        name: "offerId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "fee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "capacity";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "nftCollateralAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "nftCollateralTokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "expirationTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "duration";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "maxSeniorRepayment";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "validators";
                                                                        internalType: "struct IBaseLoan.OfferValidator[]";
                                                                        type: "tuple[]";
                                                                        components: readonly [{
                                                                            name: "validator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "arguments";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                    }];
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lenderOfferSignature";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalReceiver";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "callbackData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "borrowerOfferSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }];
                                                    name: "refinanceFromLoanExecutionData";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationOffer";
                                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "renegotiationId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "trancheIndex";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_renegotiationOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "refinanceFull";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationOffer";
                                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "renegotiationId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "trancheIndex";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "refinancePartial";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_contract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "removeWhitelistedCallbackContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_repaymentData";
                                                        internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "data";
                                                            internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "callbackData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }, {
                                                                name: "shouldDelegate";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                        }, {
                                                            name: "loan";
                                                            internalType: "struct IMultiSourceLoan.Loan";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "borrowerSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }];
                                                    name: "repayLoan";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "requestTransferOwner";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_collection";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "revokeDelegate";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newFlashActionContract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "setFlashActionContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "__minLockPeriod";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "setMinLockPeriod";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "setProtocolFee";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "transferOwnership";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "transferOwnership";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newDuration";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    name: "updateLiquidationAuctionDuration";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "__loanLiquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "updateLiquidationContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newMinimum";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "updateMinImprovementApr";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newProtocolFee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "updateProtocolFee";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "RevokeDelegate" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "MinLockPeriodUpdated" | "MinAprImprovementUpdated" | "MinBidLiquidationUpdated" | "TransferOwnerRequested" | "LoanRefinancedFromNewOffers")[]
                                                    ? TFunctionName[number]
                                                    : TFunctionName>
                                              • +
                                              • +
                                                +

                                                Type Parameters

                                                +
                                                  +
                                                • +

                                                  TFunctionName extends "OwnershipTransferred" | "AllOffersCancelled" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "RevokeDelegate" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "MinLockPeriodUpdated" | "MinAprImprovementUpdated" | "MinBidLiquidationUpdated" | "TransferOwnerRequested" | "LoanRefinancedFromNewOffers"

                                                +
                                                +

                                                Parameters

                                                +
                                                  +
                                                • +
                                                  eventName: TFunctionName
                                                • +
                                                • +
                                                  logs: Log<bigint, number, false>[]
                                                +

                                                Returns ParseEventLogsReturnType<readonly [{
                                                    type: "constructor";
                                                    inputs: readonly [{
                                                        name: "loanLiquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "protocolFee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "currencyManager";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "collectionManager";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "maxTranches";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "minLockPeriod";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "delegateRegistry";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "loanManagerRegistry";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "flashActionContract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "minWaitTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "AddressZeroError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "CancelledOrExecutedOfferError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "CollectionNotWhitelistedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "CurrencyNotWhitelistedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "ECDSAInvalidSignature";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "length";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "ECDSAInvalidSignatureLength";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "s";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    name: "ECDSAInvalidSignatureS";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "ExpiredOfferError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidAddressesError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_amount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_principalAmount";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "InvalidAmountError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidCallbackError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidCallerError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidCollateralIdError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidDurationError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidInputError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "InvalidLoanError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidMethodError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidParametersError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidRenegotiationOfferError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidSignatureError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidTrancheError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_liquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "LiquidatorOnlyError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "LoanExpiredError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "LoanLockedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_expirationTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "LoanNotDueError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_newMinOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "LowOfferIdError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_newMinRenegotiationOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "LowRenegotiationOfferIdError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "MaxCapacityExceededError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "MismatchError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "i";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "returndata";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "MulticallFailed";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "NFTNotReturnedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "NotStrictlyImprovedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_pendingProtocolFeeSetTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "TooEarlyError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "TooManyTranchesError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "TooSoonError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "minTimestamp";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "TrancheCannotBeRefinancedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "ZeroInterestError";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "AllOffersCancelled";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "value";
                                                        internalType: "bool";
                                                        type: "bool";
                                                        indexed: false;
                                                    }];
                                                    name: "Delegated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newFlashActionContract";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "FlashActionContractUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "target";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "data";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                        indexed: false;
                                                    }];
                                                    name: "FlashActionExecuted";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newDuration";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LiquidationAuctionDurationUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "liquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "LiquidationContractUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "offerId";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                        indexed: false;
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanEmitted";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanForeclosed";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanLiquidated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "oldLoanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "newLoanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanRefinanced";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "newLoanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }, {
                                                        name: "offerIds";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                        indexed: false;
                                                    }, {
                                                        name: "totalFee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanRefinancedFromNewOffers";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "totalRepayment";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanRepaid";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }, {
                                                        name: "liquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "LoanSentToLiquidator";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "_minimum";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "MinAprImprovementUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newMinBid";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "MinBidLiquidationUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "minLockPeriod";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "MinLockPeriodUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "OfferCancelled";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }];
                                                    name: "OwnershipTransferred";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "fee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "ProtocolFeePendingUpdate";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "fee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "ProtocolFeeUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "lender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "RenegotiationOfferCancelled";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "collection";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }, {
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: false;
                                                    }];
                                                    name: "RevokeDelegate";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "TransferOwnerRequested";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "contractAdded";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "WhitelistedCallbackContractAdded";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "contractRemoved";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "WhitelistedCallbackContractRemoved";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "DOMAIN_SEPARATOR";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "FEE_UPDATE_NOTICE";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "INITIAL_DOMAIN_SEPARATOR";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MAX_AUCTION_DURATION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MIN_AUCTION_DURATION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MIN_BID_LIQUIDATION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MIN_WAIT_TIME";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "VERSION";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationOffer";
                                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "renegotiationId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "trancheIndex";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_renegotiationOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "addNewTranche";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_contract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "addWhitelistedCallbackContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "cancelAllOffers";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "cancelOffer";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "cancelRenegotiationOffer";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_rights";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }, {
                                                        name: "_value";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    name: "delegate";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanExecutionData";
                                                        internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "executionData";
                                                            internalType: "struct IMultiSourceLoan.ExecutionData";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerExecution";
                                                                internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "offer";
                                                                    internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                    type: "tuple";
                                                                    components: readonly [{
                                                                        name: "offerId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "fee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "capacity";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "nftCollateralAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "nftCollateralTokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "expirationTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "duration";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "maxSeniorRepayment";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "validators";
                                                                        internalType: "struct IBaseLoan.OfferValidator[]";
                                                                        type: "tuple[]";
                                                                        components: readonly [{
                                                                            name: "validator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "arguments";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                    }];
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lenderOfferSignature";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalReceiver";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "callbackData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "borrowerOfferSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }];
                                                    name: "emitLoan";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_target";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_data";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "executeFlashAction";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getCollectionManager";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getCurrencyManager";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getDelegateRegistry";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getFlashActionContract";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getLiquidationAuctionDuration";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getLiquidator";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "getLoanHash";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes32";
                                                        type: "bytes32";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getLoanManagerRegistry";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "contract ILoanManagerRegistry";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getMaxTranches";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getMinImprovementApr";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getMinLockPeriod";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingProtocolFee";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingProtocolFeeSetTime";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getProtocolFee";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getTotalLoansIssued";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_lender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "getUsedCapacity";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "offerId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "isOfferCancelled";
                                                    outputs: readonly [{
                                                        name: "notActive";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "renegotiationIf";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "isRenegotiationOfferCancelled";
                                                    outputs: readonly [{
                                                        name: "notActive";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_contract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "isWhitelistedCallbackContract";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "liquidateLoan";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "loanLiquidated";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "minOfferId";
                                                    outputs: readonly [{
                                                        name: "minOfferId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "data";
                                                        internalType: "bytes[]";
                                                        type: "bytes[]";
                                                    }];
                                                    name: "multicall";
                                                    outputs: readonly [{
                                                        name: "results";
                                                        internalType: "bytes[]";
                                                        type: "bytes[]";
                                                    }];
                                                    stateMutability: "payable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "name";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "onERC721Received";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes4";
                                                        type: "bytes4";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "owner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "pendingOwner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "pendingOwnerTime";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loanId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loanExecutionData";
                                                        internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "executionData";
                                                            internalType: "struct IMultiSourceLoan.ExecutionData";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "offerExecution";
                                                                internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "offer";
                                                                    internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                    type: "tuple";
                                                                    components: readonly [{
                                                                        name: "offerId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "fee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "capacity";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "nftCollateralAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "nftCollateralTokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "expirationTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "duration";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "maxSeniorRepayment";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "validators";
                                                                        internalType: "struct IBaseLoan.OfferValidator[]";
                                                                        type: "tuple[]";
                                                                        components: readonly [{
                                                                            name: "validator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "arguments";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                    }];
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lenderOfferSignature";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "expirationTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalReceiver";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "callbackData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                        }, {
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "borrowerOfferSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }];
                                                    name: "refinanceFromLoanExecutionData";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationOffer";
                                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "renegotiationId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "trancheIndex";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_renegotiationOfferSignature";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "refinanceFull";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_renegotiationOffer";
                                                        internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "renegotiationId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "loanId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "lender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "trancheIndex";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "aprBps";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "expirationTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "refinancePartial";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_contract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "removeWhitelistedCallbackContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_repaymentData";
                                                        internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "data";
                                                            internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "callbackData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }, {
                                                                name: "shouldDelegate";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                        }, {
                                                            name: "loan";
                                                            internalType: "struct IMultiSourceLoan.Loan";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "borrowerSignature";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                    }];
                                                    name: "repayLoan";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "requestTransferOwner";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_delegate";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_collection";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "revokeDelegate";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newFlashActionContract";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "setFlashActionContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "__minLockPeriod";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "setMinLockPeriod";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "setProtocolFee";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "transferOwnership";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "transferOwnership";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newDuration";
                                                        internalType: "uint48";
                                                        type: "uint48";
                                                    }];
                                                    name: "updateLiquidationAuctionDuration";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "__loanLiquidator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "updateLiquidationContract";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newMinimum";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "updateMinImprovementApr";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newProtocolFee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "updateProtocolFee";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "RevokeDelegate" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "MinLockPeriodUpdated" | "MinAprImprovementUpdated" | "MinBidLiquidationUpdated" | "TransferOwnerRequested" | "LoanRefinancedFromNewOffers")[]
                                                    ? TFunctionName[number]
                                                    : TFunctionName>

                                            +
                                            + +
                                            +
                                            \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.OldERC721Wrapper.html b/docs/0.15.0b2/classes/Internal.OldERC721Wrapper.html new file mode 100644 index 00000000..a20ea4ee --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.OldERC721Wrapper.html @@ -0,0 +1,458 @@ +OldERC721Wrapper | Gondi JS SDK - v0.15.0b2
                                            +
                                            + +
                                            +
                                            +
                                            +
                                            + +

                                            Class OldERC721Wrapper

                                            +
                                            +

                                            Hierarchy

                                            +
                                            +
                                            +
                                            +
                                            + +
                                            +
                                            +

                                            Constructors

                                            +
                                            +
                                            +

                                            Methods

                                            +
                                            +
                                            +

                                            Properties

                                            +
                                            +
                                            +

                                            Constructors

                                            +
                                            + +
                                            +
                                            +

                                            Methods

                                            +
                                            + +
                                              + +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                __namedParameters: {
                                                    tokenId: bigint;
                                                }
                                                +
                                                  +
                                                • +
                                                  tokenId: bigint
                                              +

                                              Returns Promise<{
                                                  txHash: `0x${string}`;
                                                  waitMined: (() => Promise<TransactionReceipt>);
                                              }>

                                            +
                                            + +
                                              + +
                                            • +
                                              +

                                              Parameters

                                              +
                                                +
                                              • +
                                                tokenId: bigint
                                              +

                                              Returns Promise<{
                                                  txHash: `0x${string}`;
                                                  waitMined: (() => Promise<TransactionReceipt>);
                                              }>

                                            +
                                            +

                                            Properties

                                            +
                                            + +
                                            abi: readonly [{
                                                type: "constructor";
                                                inputs: readonly [{
                                                    name: "name";
                                                    internalType: "string";
                                                    type: "string";
                                                }, {
                                                    name: "symbol";
                                                    internalType: "string";
                                                    type: "string";
                                                }, {
                                                    name: "_wrapped";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "spender";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "id";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "approve";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "owner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "balanceOf";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "getApproved";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "isApprovedForAll";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "name";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "string";
                                                    type: "string";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "id";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "ownerOf";
                                                outputs: readonly [{
                                                    name: "owner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "from";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "to";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "id";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "safeTransferFrom";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "from";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "to";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "id";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }, {
                                                    name: "data";
                                                    internalType: "bytes";
                                                    type: "bytes";
                                                }];
                                                name: "safeTransferFrom";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "operator";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "approved";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                name: "setApprovalForAll";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "user";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "stashAddress";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "stashFactory";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "contract Stash";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "interfaceId";
                                                    internalType: "bytes4";
                                                    type: "bytes4";
                                                }];
                                                name: "supportsInterface";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "bool";
                                                    type: "bool";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "symbol";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "string";
                                                    type: "string";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "tokenURI";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "string";
                                                    type: "string";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "owner";
                                                    internalType: "address";
                                                    type: "address";
                                                }];
                                                name: "tokensOfOwner";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "totalSupply";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "from";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "to";
                                                    internalType: "address";
                                                    type: "address";
                                                }, {
                                                    name: "id";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "transferFrom";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "unwrap";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "tokenIndexes";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }];
                                                name: "unwrapBatch";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "tokenId";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                }];
                                                name: "wrap";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [{
                                                    name: "tokenIndexes";
                                                    internalType: "uint256[]";
                                                    type: "uint256[]";
                                                }];
                                                name: "wrapBatch";
                                                outputs: readonly [];
                                                stateMutability: "nonpayable";
                                            }, {
                                                type: "function";
                                                inputs: readonly [];
                                                name: "wrapped";
                                                outputs: readonly [{
                                                    name: "";
                                                    internalType: "contract IOldERC721";
                                                    type: "address";
                                                }];
                                                stateMutability: "view";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "owner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "spender";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "id";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: true;
                                                }];
                                                name: "Approval";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "owner";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "operator";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "approved";
                                                    internalType: "bool";
                                                    type: "bool";
                                                    indexed: false;
                                                }];
                                                name: "ApprovalForAll";
                                            }, {
                                                type: "event";
                                                anonymous: false;
                                                inputs: readonly [{
                                                    name: "from";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "to";
                                                    internalType: "address";
                                                    type: "address";
                                                    indexed: true;
                                                }, {
                                                    name: "id";
                                                    internalType: "uint256";
                                                    type: "uint256";
                                                    indexed: true;
                                                }];
                                                name: "Transfer";
                                            }]
                                            +
                                            + +
                                            address: `0x${string}`
                                            +
                                            + +
                                            bcClient: {}
                                            +
                                            +

                                            Type declaration

                                            +
                                              +
                                              + +
                                              wallet: {}
                                              +
                                              +

                                              Type declaration

                                              +
                                                +
                                                + +
                                                contract: GetContractReturnType<readonly [{
                                                    type: "constructor";
                                                    inputs: readonly [{
                                                        name: "name";
                                                        internalType: "string";
                                                        type: "string";
                                                    }, {
                                                        name: "symbol";
                                                        internalType: "string";
                                                        type: "string";
                                                    }, {
                                                        name: "_wrapped";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "spender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "approve";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "balanceOf";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "getApproved";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "isApprovedForAll";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "name";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "ownerOf";
                                                    outputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "safeTransferFrom";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "data";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "safeTransferFrom";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "operator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "approved";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    name: "setApprovalForAll";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "stashAddress";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "stashFactory";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "contract Stash";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "interfaceId";
                                                        internalType: "bytes4";
                                                        type: "bytes4";
                                                    }];
                                                    name: "supportsInterface";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "symbol";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "tokenURI";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "tokensOfOwner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "totalSupply";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "transferFrom";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "unwrap";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenIndexes";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }];
                                                    name: "unwrapBatch";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "wrap";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenIndexes";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }];
                                                    name: "wrapBatch";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "wrapped";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "contract IOldERC721";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "spender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: true;
                                                    }];
                                                    name: "Approval";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "operator";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "approved";
                                                        internalType: "bool";
                                                        type: "bool";
                                                        indexed: false;
                                                    }];
                                                    name: "ApprovalForAll";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: true;
                                                    }];
                                                    name: "Transfer";
                                                }], {} | {}>
                                                +
                                                + +
                                                safeContractWrite: {
                                                    approve: ((args, options?) => Promise<`0x${string}`>);
                                                    transferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                    safeTransferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                    setApprovalForAll: ((args, options?) => Promise<`0x${string}`>);
                                                    unwrap: ((args, options?) => Promise<`0x${string}`>);
                                                    unwrapBatch: ((args, options?) => Promise<`0x${string}`>);
                                                    wrap: ((args, options?) => Promise<`0x${string}`>);
                                                    wrapBatch: ((args, options?) => Promise<`0x${string}`>);
                                                }
                                                +
                                                +

                                                Type declaration

                                                +
                                                  +
                                                • +
                                                  approve: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: readonly [`0x${string}`, bigint]
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                • +
                                                • +
                                                  transferFrom: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: readonly [`0x${string}`, `0x${string}`, bigint]
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                • +
                                                • +
                                                  safeTransferFrom: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: (undefined | readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]) & Widen<readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]>
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                • +
                                                • +
                                                  setApprovalForAll: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: readonly [`0x${string}`, Widen<boolean>] | readonly [`0x${string}`, boolean] & readonly [`0x${string}`, Widen<boolean>]
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                • +
                                                • +
                                                  unwrap: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: readonly [bigint]
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                • +
                                                • +
                                                  unwrapBatch: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: readonly [readonly bigint[]] | readonly [readonly bigint[]] & readonly [readonly bigint[]]
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                • +
                                                • +
                                                  wrap: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: readonly [bigint]
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                • +
                                                • +
                                                  wrapBatch: ((args, options?) => Promise<`0x${string}`>)
                                                  +
                                                    +
                                                  • +
                                                      +
                                                    • (args, options?): Promise<`0x${string}`>
                                                    • +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                        +
                                                      • +
                                                        args: readonly [readonly bigint[]] | readonly [readonly bigint[]] & readonly [readonly bigint[]]
                                                      • +
                                                      • +
                                                        Optional options: {
                                                            value?: bigint;
                                                        }
                                                        +
                                                          +
                                                        • +
                                                          Optional value?: bigint
                                                      +

                                                      Returns Promise<`0x${string}`>

                                                +
                                                + +
                                                parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                    type: "constructor";
                                                    inputs: readonly [{
                                                        name: "name";
                                                        internalType: "string";
                                                        type: "string";
                                                    }, {
                                                        name: "symbol";
                                                        internalType: "string";
                                                        type: "string";
                                                    }, {
                                                        name: "_wrapped";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "spender";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "approve";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "balanceOf";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "getApproved";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "isApprovedForAll";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "name";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "ownerOf";
                                                    outputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "safeTransferFrom";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "data";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "safeTransferFrom";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "operator";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "approved";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    name: "setApprovalForAll";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "stashAddress";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "stashFactory";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "contract Stash";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "interfaceId";
                                                        internalType: "bytes4";
                                                        type: "bytes4";
                                                    }];
                                                    name: "supportsInterface";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bool";
                                                        type: "bool";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "symbol";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "tokenURI";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "string";
                                                        type: "string";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "tokensOfOwner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "totalSupply";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "transferFrom";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "unwrap";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenIndexes";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }];
                                                    name: "unwrapBatch";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenId";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "wrap";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "tokenIndexes";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }];
                                                    name: "wrapBatch";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "wrapped";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "contract IOldERC721";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "spender";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: true;
                                                    }];
                                                    name: "Approval";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "owner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "operator";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "approved";
                                                        internalType: "bool";
                                                        type: "bool";
                                                        indexed: false;
                                                    }];
                                                    name: "ApprovalForAll";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "from";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "to";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "id";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                        indexed: true;
                                                    }];
                                                    name: "Transfer";
                                                }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer" | "ApprovalForAll")[]
                                                    ? TFunctionName[number]
                                                    : TFunctionName>)
                                                +
                                                +

                                                Type declaration

                                                +
                                                  +
                                                • +
                                                    +
                                                  • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                                                        type: "constructor";
                                                        inputs: readonly [{
                                                            name: "name";
                                                            internalType: "string";
                                                            type: "string";
                                                        }, {
                                                            name: "symbol";
                                                            internalType: "string";
                                                            type: "string";
                                                        }, {
                                                            name: "_wrapped";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "spender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "approve";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "balanceOf";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "getApproved";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "isApprovedForAll";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "name";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "ownerOf";
                                                        outputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "safeTransferFrom";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "data";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "safeTransferFrom";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "operator";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "approved";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                        name: "setApprovalForAll";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "user";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "stashAddress";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "stashFactory";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "contract Stash";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "interfaceId";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        name: "supportsInterface";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "symbol";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "tokenURI";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "tokensOfOwner";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "totalSupply";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "transferFrom";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "unwrap";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenIndexes";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        name: "unwrapBatch";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "wrap";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenIndexes";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        name: "wrapBatch";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "wrapped";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "contract IOldERC721";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "spender";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: true;
                                                        }];
                                                        name: "Approval";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "operator";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "approved";
                                                            internalType: "bool";
                                                            type: "bool";
                                                            indexed: false;
                                                        }];
                                                        name: "ApprovalForAll";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: true;
                                                        }];
                                                        name: "Transfer";
                                                    }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer" | "ApprovalForAll")[]
                                                        ? TFunctionName[number]
                                                        : TFunctionName>
                                                  • +
                                                  • +
                                                    +

                                                    Type Parameters

                                                    +
                                                      +
                                                    • +

                                                      TFunctionName extends "Approval" | "Transfer" | "ApprovalForAll"

                                                    +
                                                    +

                                                    Parameters

                                                    +
                                                      +
                                                    • +
                                                      eventName: TFunctionName
                                                    • +
                                                    • +
                                                      logs: Log<bigint, number, false>[]
                                                    +

                                                    Returns ParseEventLogsReturnType<readonly [{
                                                        type: "constructor";
                                                        inputs: readonly [{
                                                            name: "name";
                                                            internalType: "string";
                                                            type: "string";
                                                        }, {
                                                            name: "symbol";
                                                            internalType: "string";
                                                            type: "string";
                                                        }, {
                                                            name: "_wrapped";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "spender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "approve";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "balanceOf";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "getApproved";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "isApprovedForAll";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "name";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "ownerOf";
                                                        outputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "safeTransferFrom";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "data";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "safeTransferFrom";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "operator";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "approved";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                        name: "setApprovalForAll";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "user";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "stashAddress";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "stashFactory";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "contract Stash";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "interfaceId";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        name: "supportsInterface";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "symbol";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "tokenURI";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "tokensOfOwner";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "totalSupply";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "transferFrom";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "unwrap";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenIndexes";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        name: "unwrapBatch";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "wrap";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "tokenIndexes";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        name: "wrapBatch";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "wrapped";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "contract IOldERC721";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "spender";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: true;
                                                        }];
                                                        name: "Approval";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "operator";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "approved";
                                                            internalType: "bool";
                                                            type: "bool";
                                                            indexed: false;
                                                        }];
                                                        name: "ApprovalForAll";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: true;
                                                        }];
                                                        name: "Transfer";
                                                    }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer" | "ApprovalForAll")[]
                                                        ? TFunctionName[number]
                                                        : TFunctionName>

                                                +
                                                + +
                                                +
                                                \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.PurchaseBundler.html b/docs/0.15.0b2/classes/Internal.PurchaseBundler.html new file mode 100644 index 00000000..6fd1d46a --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.PurchaseBundler.html @@ -0,0 +1,531 @@ +PurchaseBundler | Gondi JS SDK - v0.15.0b2
                                                +
                                                + +
                                                +
                                                +
                                                +
                                                + +

                                                Class PurchaseBundler

                                                +
                                                +

                                                Hierarchy

                                                +
                                                +
                                                +
                                                +
                                                + +
                                                +
                                                +

                                                Constructors

                                                +
                                                +
                                                +

                                                Methods

                                                +
                                                +
                                                +

                                                Properties

                                                +
                                                +
                                                +

                                                Constructors

                                                +
                                                + +
                                                +
                                                +

                                                Methods

                                                +
                                                + +
                                                  + +
                                                • +
                                                  +

                                                  Parameters

                                                  +
                                                    +
                                                  • +
                                                    __namedParameters: {
                                                        repaymentCalldata: `0x${string}`;
                                                    }
                                                    +
                                                      +
                                                    • +
                                                      repaymentCalldata: `0x${string}`
                                                  +

                                                  Returns Promise<{
                                                      txHash: `0x${string}`;
                                                      waitTxInBlock: (() => Promise<TransactionReceipt>);
                                                  }>

                                                +
                                                +

                                                Properties

                                                +
                                                + +
                                                abi: readonly [{
                                                    type: "constructor";
                                                    inputs: readonly [{
                                                        name: "_multiSourceLoanAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_marketplaceContracts";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "_wethAddress";
                                                        internalType: "address payable";
                                                        type: "address";
                                                    }, {
                                                        name: "_punkMarketAddress";
                                                        internalType: "address payable";
                                                        type: "address";
                                                    }, {
                                                        name: "_wrappedPunkAddress";
                                                        internalType: "address payable";
                                                        type: "address";
                                                    }, {
                                                        name: "__taxes";
                                                        internalType: "struct IPurchaseBundler.Taxes";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "buyTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }, {
                                                            name: "sellTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }];
                                                    }, {
                                                        name: "_minWaitTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "__protocolFee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "AddressZeroError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "CouldNotReturnEthError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidAddressUpdateError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidCallbackError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "InvalidInputError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "newTaxes";
                                                        internalType: "struct IPurchaseBundler.Taxes";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "buyTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }, {
                                                            name: "sellTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }];
                                                    }];
                                                    name: "InvalidTaxesError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "MarketplaceAddressNotWhitelisted";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "OnlyLoanCallableError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "OnlyWethSupportedError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [{
                                                        name: "_pendingProtocolFeeSetTime";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    name: "TooEarlyError";
                                                }, {
                                                    type: "error";
                                                    inputs: readonly [];
                                                    name: "TooSoonError";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanIds";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                        indexed: false;
                                                    }];
                                                    name: "BNPLLoansStarted";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "MultiSourceLoanPendingUpdate";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "MultiSourceLoanUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "user";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }, {
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: true;
                                                    }];
                                                    name: "OwnershipTransferred";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "fee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "ProtocolFeePendingUpdate";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "fee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "ProtocolFeeUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "loanIds";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                        indexed: false;
                                                    }];
                                                    name: "SellAndRepayExecuted";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newTaxes";
                                                        internalType: "struct IPurchaseBundler.Taxes";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "buyTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }, {
                                                            name: "sellTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "TaxesPendingUpdate";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "taxes";
                                                        internalType: "struct IPurchaseBundler.Taxes";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "buyTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }, {
                                                            name: "sellTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }];
                                                        indexed: false;
                                                    }];
                                                    name: "TaxesUpdated";
                                                }, {
                                                    type: "event";
                                                    anonymous: false;
                                                    inputs: readonly [{
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                        indexed: false;
                                                    }];
                                                    name: "TransferOwnerRequested";
                                                }, {
                                                    type: "fallback";
                                                    stateMutability: "payable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "FEE_UPDATE_NOTICE";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "MIN_WAIT_TIME";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "TAX_UPDATE_NOTICE";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_executionData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "afterNFTTransfer";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes4";
                                                        type: "bytes4";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_loan";
                                                        internalType: "struct IMultiSourceLoan.Loan";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        name: "_fee";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "_executionData";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "afterPrincipalTransfer";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes4";
                                                        type: "bytes4";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_executionData";
                                                        internalType: "bytes[]";
                                                        type: "bytes[]";
                                                    }];
                                                    name: "buy";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256[]";
                                                        type: "uint256[]";
                                                    }, {
                                                        name: "";
                                                        internalType: "struct IMultiSourceLoan.Loan[]";
                                                        type: "tuple[]";
                                                        components: readonly [{
                                                            name: "borrower";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "nftCollateralTokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "nftCollateralAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "principalAmount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "startTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "duration";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "tranche";
                                                            internalType: "struct IMultiSourceLoan.Tranche[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "loanId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "floor";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "lender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "accruedInterest";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "aprBps";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "protocolFee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "payable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "finalUpdateMultiSourceLoanAddress";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getMultiSourceLoanAddress";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingProtocolFee";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingProtocolFeeSetTime";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingTaxes";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct IPurchaseBundler.Taxes";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "buyTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }, {
                                                            name: "sellTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getPendingTaxesSetTime";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getProtocolFee";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "getTaxes";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "struct IPurchaseBundler.Taxes";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "buyTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }, {
                                                            name: "sellTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }];
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }, {
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }, {
                                                        name: "";
                                                        internalType: "bytes";
                                                        type: "bytes";
                                                    }];
                                                    name: "onERC721Received";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "bytes4";
                                                        type: "bytes4";
                                                    }];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "owner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "pendingOwner";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "pendingOwnerTime";
                                                    outputs: readonly [{
                                                        name: "";
                                                        internalType: "uint256";
                                                        type: "uint256";
                                                    }];
                                                    stateMutability: "view";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "requestTransferOwner";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_executionData";
                                                        internalType: "bytes[]";
                                                        type: "bytes[]";
                                                    }];
                                                    name: "sell";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "setProtocolFee";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "setTaxes";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [];
                                                    name: "transferOwnership";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "newOwner";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "transferOwnership";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newAddress";
                                                        internalType: "address";
                                                        type: "address";
                                                    }];
                                                    name: "updateMultiSourceLoanAddressFirst";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newProtocolFee";
                                                        internalType: "struct WithProtocolFee.ProtocolFee";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "recipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "fraction";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }];
                                                    name: "updateProtocolFee";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "function";
                                                    inputs: readonly [{
                                                        name: "_newTaxes";
                                                        internalType: "struct IPurchaseBundler.Taxes";
                                                        type: "tuple";
                                                        components: readonly [{
                                                            name: "buyTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }, {
                                                            name: "sellTax";
                                                            internalType: "uint128";
                                                            type: "uint128";
                                                        }];
                                                    }];
                                                    name: "updateTaxes";
                                                    outputs: readonly [];
                                                    stateMutability: "nonpayable";
                                                }, {
                                                    type: "receive";
                                                    stateMutability: "payable";
                                                }]
                                                +
                                                + +
                                                address: `0x${string}`
                                                +
                                                + +
                                                bcClient: {}
                                                +
                                                +

                                                Type declaration

                                                +
                                                  +
                                                  + +
                                                  wallet: {}
                                                  +
                                                  +

                                                  Type declaration

                                                  +
                                                    +
                                                    + +
                                                    contract: GetContractReturnType<readonly [{
                                                        type: "constructor";
                                                        inputs: readonly [{
                                                            name: "_multiSourceLoanAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_marketplaceContracts";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_wethAddress";
                                                            internalType: "address payable";
                                                            type: "address";
                                                        }, {
                                                            name: "_punkMarketAddress";
                                                            internalType: "address payable";
                                                            type: "address";
                                                        }, {
                                                            name: "_wrappedPunkAddress";
                                                            internalType: "address payable";
                                                            type: "address";
                                                        }, {
                                                            name: "__taxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }, {
                                                            name: "_minWaitTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "__protocolFee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "AddressZeroError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "CouldNotReturnEthError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "InvalidAddressUpdateError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "InvalidCallbackError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "InvalidInputError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [{
                                                            name: "newTaxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        name: "InvalidTaxesError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "MarketplaceAddressNotWhitelisted";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "OnlyLoanCallableError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "OnlyWethSupportedError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [{
                                                            name: "_pendingProtocolFeeSetTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "TooEarlyError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "TooSoonError";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "loanIds";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                            indexed: false;
                                                        }];
                                                        name: "BNPLLoansStarted";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }];
                                                        name: "MultiSourceLoanPendingUpdate";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }];
                                                        name: "MultiSourceLoanUpdated";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "user";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }];
                                                        name: "OwnershipTransferred";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "fee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "ProtocolFeePendingUpdate";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "fee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "ProtocolFeeUpdated";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "loanIds";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                            indexed: false;
                                                        }];
                                                        name: "SellAndRepayExecuted";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newTaxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "TaxesPendingUpdate";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "taxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "TaxesUpdated";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }];
                                                        name: "TransferOwnerRequested";
                                                    }, {
                                                        type: "fallback";
                                                        stateMutability: "payable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "FEE_UPDATE_NOTICE";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "MIN_WAIT_TIME";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "TAX_UPDATE_NOTICE";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_loan";
                                                            internalType: "struct IMultiSourceLoan.Loan";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "_executionData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "afterNFTTransfer";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_loan";
                                                            internalType: "struct IMultiSourceLoan.Loan";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "_fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_executionData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "afterPrincipalTransfer";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_executionData";
                                                            internalType: "bytes[]";
                                                            type: "bytes[]";
                                                        }];
                                                        name: "buy";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "";
                                                            internalType: "struct IMultiSourceLoan.Loan[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "payable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "finalUpdateMultiSourceLoanAddress";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getMultiSourceLoanAddress";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingProtocolFee";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingProtocolFeeSetTime";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingTaxes";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingTaxesSetTime";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getProtocolFee";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getTaxes";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "onERC721Received";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "owner";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "pendingOwner";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "pendingOwnerTime";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "requestTransferOwner";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_executionData";
                                                            internalType: "bytes[]";
                                                            type: "bytes[]";
                                                        }];
                                                        name: "sell";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "setProtocolFee";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "setTaxes";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "transferOwnership";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "transferOwnership";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "updateMultiSourceLoanAddressFirst";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newProtocolFee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        name: "updateProtocolFee";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newTaxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        name: "updateTaxes";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "receive";
                                                        stateMutability: "payable";
                                                    }], {} | {}>
                                                    +
                                                    + +
                                                    safeContractWrite: {
                                                        transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                        onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                        setProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                        updateProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                        afterNFTTransfer: ((args, options?) => Promise<`0x${string}`>);
                                                        afterPrincipalTransfer: ((args, options?) => Promise<`0x${string}`>);
                                                        buy: ((args, options?) => Promise<`0x${string}`>);
                                                        finalUpdateMultiSourceLoanAddress: ((args, options?) => Promise<`0x${string}`>);
                                                        sell: ((args, options?) => Promise<`0x${string}`>);
                                                        updateMultiSourceLoanAddressFirst: ((args, options?) => Promise<`0x${string}`>);
                                                        requestTransferOwner: ((args, options?) => Promise<`0x${string}`>);
                                                        setTaxes: ((args, options?) => Promise<`0x${string}`>);
                                                        updateTaxes: ((args, options?) => Promise<`0x${string}`>);
                                                    }
                                                    +
                                                    +

                                                    Type declaration

                                                    +
                                                      +
                                                    • +
                                                      transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: undefined | readonly [] | readonly [`0x${string}`]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      setProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: undefined | readonly []
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      updateProtocolFee: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [{
                                                                recipient: `0x${string}`;
                                                                fraction: bigint;
                                                            }] | readonly [{
                                                                recipient: `0x${string}`;
                                                                fraction: bigint;
                                                            }] & readonly [{
                                                                recipient: `0x${string}`;
                                                                fraction: bigint;
                                                            }]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      afterNFTTransfer: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [{
                                                                borrower: `0x${string}`;
                                                                nftCollateralTokenId: bigint;
                                                                nftCollateralAddress: `0x${string}`;
                                                                principalAddress: `0x${string}`;
                                                                principalAmount: bigint;
                                                                startTime: bigint;
                                                                duration: bigint;
                                                                tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                protocolFee: bigint;
                                                            }, `0x${string}`] | readonly [{
                                                                borrower: `0x${string}`;
                                                                nftCollateralTokenId: bigint;
                                                                nftCollateralAddress: `0x${string}`;
                                                                principalAddress: `0x${string}`;
                                                                principalAmount: bigint;
                                                                startTime: bigint;
                                                                duration: bigint;
                                                                tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                protocolFee: bigint;
                                                            }, `0x${string}`] & readonly [{
                                                                borrower: `0x${string}`;
                                                                nftCollateralTokenId: bigint;
                                                                nftCollateralAddress: `0x${string}`;
                                                                principalAddress: `0x${string}`;
                                                                principalAmount: bigint;
                                                                startTime: bigint;
                                                                duration: bigint;
                                                                tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                protocolFee: bigint;
                                                            }, `0x${string}`]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      afterPrincipalTransfer: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [{
                                                                borrower: `0x${string}`;
                                                                nftCollateralTokenId: bigint;
                                                                nftCollateralAddress: `0x${string}`;
                                                                principalAddress: `0x${string}`;
                                                                principalAmount: bigint;
                                                                startTime: bigint;
                                                                duration: bigint;
                                                                tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                protocolFee: bigint;
                                                            }, bigint, `0x${string}`] | readonly [{
                                                                borrower: `0x${string}`;
                                                                nftCollateralTokenId: bigint;
                                                                nftCollateralAddress: `0x${string}`;
                                                                principalAddress: `0x${string}`;
                                                                principalAmount: bigint;
                                                                startTime: bigint;
                                                                duration: bigint;
                                                                tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                protocolFee: bigint;
                                                            }, bigint, `0x${string}`] & readonly [{
                                                                borrower: `0x${string}`;
                                                                nftCollateralTokenId: bigint;
                                                                nftCollateralAddress: `0x${string}`;
                                                                principalAddress: `0x${string}`;
                                                                principalAmount: bigint;
                                                                startTime: bigint;
                                                                duration: bigint;
                                                                tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                protocolFee: bigint;
                                                            }, bigint, `0x${string}`]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      buy: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [readonly `0x${string}`[]] | readonly [readonly `0x${string}`[]] & readonly [readonly `0x${string}`[]]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      finalUpdateMultiSourceLoanAddress: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [`0x${string}`]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      sell: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [readonly `0x${string}`[]] | readonly [readonly `0x${string}`[]] & readonly [readonly `0x${string}`[]]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      updateMultiSourceLoanAddressFirst: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [`0x${string}`]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      requestTransferOwner: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [`0x${string}`]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      setTaxes: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: undefined | readonly []
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    • +
                                                    • +
                                                      updateTaxes: ((args, options?) => Promise<`0x${string}`>)
                                                      +
                                                        +
                                                      • +
                                                          +
                                                        • (args, options?): Promise<`0x${string}`>
                                                        • +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                            +
                                                          • +
                                                            args: readonly [{
                                                                buyTax: bigint;
                                                                sellTax: bigint;
                                                            }] | readonly [{
                                                                buyTax: bigint;
                                                                sellTax: bigint;
                                                            }] & readonly [{
                                                                buyTax: bigint;
                                                                sellTax: bigint;
                                                            }]
                                                          • +
                                                          • +
                                                            Optional options: {
                                                                value?: bigint;
                                                            }
                                                            +
                                                              +
                                                            • +
                                                              Optional value?: bigint
                                                          +

                                                          Returns Promise<`0x${string}`>

                                                    +
                                                    + +
                                                    parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                        type: "constructor";
                                                        inputs: readonly [{
                                                            name: "_multiSourceLoanAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_marketplaceContracts";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_wethAddress";
                                                            internalType: "address payable";
                                                            type: "address";
                                                        }, {
                                                            name: "_punkMarketAddress";
                                                            internalType: "address payable";
                                                            type: "address";
                                                        }, {
                                                            name: "_wrappedPunkAddress";
                                                            internalType: "address payable";
                                                            type: "address";
                                                        }, {
                                                            name: "__taxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }, {
                                                            name: "_minWaitTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "__protocolFee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "AddressZeroError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "CouldNotReturnEthError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "InvalidAddressUpdateError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "InvalidCallbackError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "InvalidInputError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [{
                                                            name: "newTaxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        name: "InvalidTaxesError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "MarketplaceAddressNotWhitelisted";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "OnlyLoanCallableError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "OnlyWethSupportedError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [{
                                                            name: "_pendingProtocolFeeSetTime";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "TooEarlyError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "TooSoonError";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "loanIds";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                            indexed: false;
                                                        }];
                                                        name: "BNPLLoansStarted";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }];
                                                        name: "MultiSourceLoanPendingUpdate";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }];
                                                        name: "MultiSourceLoanUpdated";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "user";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }];
                                                        name: "OwnershipTransferred";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "fee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "ProtocolFeePendingUpdate";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "fee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "ProtocolFeeUpdated";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "loanIds";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                            indexed: false;
                                                        }];
                                                        name: "SellAndRepayExecuted";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newTaxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "TaxesPendingUpdate";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "taxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                            indexed: false;
                                                        }];
                                                        name: "TaxesUpdated";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }];
                                                        name: "TransferOwnerRequested";
                                                    }, {
                                                        type: "fallback";
                                                        stateMutability: "payable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "FEE_UPDATE_NOTICE";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "MIN_WAIT_TIME";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "TAX_UPDATE_NOTICE";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_loan";
                                                            internalType: "struct IMultiSourceLoan.Loan";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "_executionData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "afterNFTTransfer";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_loan";
                                                            internalType: "struct IMultiSourceLoan.Loan";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            name: "_fee";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_executionData";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "afterPrincipalTransfer";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_executionData";
                                                            internalType: "bytes[]";
                                                            type: "bytes[]";
                                                        }];
                                                        name: "buy";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "";
                                                            internalType: "struct IMultiSourceLoan.Loan[]";
                                                            type: "tuple[]";
                                                            components: readonly [{
                                                                name: "borrower";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "nftCollateralTokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "nftCollateralAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "principalAmount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "startTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "duration";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "tranche";
                                                                internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "loanId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "floor";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "lender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "accruedInterest";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "aprBps";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "protocolFee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "payable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "finalUpdateMultiSourceLoanAddress";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getMultiSourceLoanAddress";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingProtocolFee";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingProtocolFeeSetTime";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingTaxes";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getPendingTaxesSetTime";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getProtocolFee";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "getTaxes";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "onERC721Received";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "owner";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "pendingOwner";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "pendingOwnerTime";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        stateMutability: "view";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "requestTransferOwner";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_executionData";
                                                            internalType: "bytes[]";
                                                            type: "bytes[]";
                                                        }];
                                                        name: "sell";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "setProtocolFee";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "setTaxes";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "transferOwnership";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "transferOwnership";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newAddress";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "updateMultiSourceLoanAddressFirst";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newProtocolFee";
                                                            internalType: "struct WithProtocolFee.ProtocolFee";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "recipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "fraction";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }];
                                                        name: "updateProtocolFee";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_newTaxes";
                                                            internalType: "struct IPurchaseBundler.Taxes";
                                                            type: "tuple";
                                                            components: readonly [{
                                                                name: "buyTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }, {
                                                                name: "sellTax";
                                                                internalType: "uint128";
                                                                type: "uint128";
                                                            }];
                                                        }];
                                                        name: "updateTaxes";
                                                        outputs: readonly [];
                                                        stateMutability: "nonpayable";
                                                    }, {
                                                        type: "receive";
                                                        stateMutability: "payable";
                                                    }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "BNPLLoansStarted" | "MultiSourceLoanPendingUpdate" | "MultiSourceLoanUpdated" | "SellAndRepayExecuted" | "TransferOwnerRequested" | "TaxesPendingUpdate" | "TaxesUpdated")[]
                                                        ? TFunctionName[number]
                                                        : TFunctionName>)
                                                    +
                                                    +

                                                    Type declaration

                                                    +
                                                      +
                                                    • +
                                                        +
                                                      • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                                                            type: "constructor";
                                                            inputs: readonly [{
                                                                name: "_multiSourceLoanAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_marketplaceContracts";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_wethAddress";
                                                                internalType: "address payable";
                                                                type: "address";
                                                            }, {
                                                                name: "_punkMarketAddress";
                                                                internalType: "address payable";
                                                                type: "address";
                                                            }, {
                                                                name: "_wrappedPunkAddress";
                                                                internalType: "address payable";
                                                                type: "address";
                                                            }, {
                                                                name: "__taxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }, {
                                                                name: "_minWaitTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "__protocolFee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "AddressZeroError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CouldNotReturnEthError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "InvalidAddressUpdateError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "InvalidCallbackError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "InvalidInputError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "newTaxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            name: "InvalidTaxesError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "MarketplaceAddressNotWhitelisted";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "OnlyLoanCallableError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "OnlyWethSupportedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "_pendingProtocolFeeSetTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "TooEarlyError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "TooSoonError";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "loanIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                                indexed: false;
                                                            }];
                                                            name: "BNPLLoansStarted";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }];
                                                            name: "MultiSourceLoanPendingUpdate";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }];
                                                            name: "MultiSourceLoanUpdated";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "user";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }];
                                                            name: "OwnershipTransferred";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "fee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "ProtocolFeePendingUpdate";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "fee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "ProtocolFeeUpdated";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "loanIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                                indexed: false;
                                                            }];
                                                            name: "SellAndRepayExecuted";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newTaxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "TaxesPendingUpdate";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "taxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "TaxesUpdated";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }];
                                                            name: "TransferOwnerRequested";
                                                        }, {
                                                            type: "fallback";
                                                            stateMutability: "payable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "FEE_UPDATE_NOTICE";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "MIN_WAIT_TIME";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "TAX_UPDATE_NOTICE";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_loan";
                                                                internalType: "struct IMultiSourceLoan.Loan";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "borrower";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "tranche";
                                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "floor";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "accruedInterest";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "startTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    name: "protocolFee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "_executionData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "afterNFTTransfer";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_loan";
                                                                internalType: "struct IMultiSourceLoan.Loan";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "borrower";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "tranche";
                                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "floor";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "accruedInterest";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "startTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    name: "protocolFee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "_fee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_executionData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "afterPrincipalTransfer";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_executionData";
                                                                internalType: "bytes[]";
                                                                type: "bytes[]";
                                                            }];
                                                            name: "buy";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "";
                                                                internalType: "struct IMultiSourceLoan.Loan[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "borrower";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "tranche";
                                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "floor";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "accruedInterest";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "startTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    name: "protocolFee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "payable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "finalUpdateMultiSourceLoanAddress";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getMultiSourceLoanAddress";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingProtocolFee";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingProtocolFeeSetTime";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingTaxes";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingTaxesSetTime";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getProtocolFee";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getTaxes";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "onERC721Received";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "owner";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "pendingOwner";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "pendingOwnerTime";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "requestTransferOwner";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_executionData";
                                                                internalType: "bytes[]";
                                                                type: "bytes[]";
                                                            }];
                                                            name: "sell";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "setProtocolFee";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "setTaxes";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "transferOwnership";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "transferOwnership";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "updateMultiSourceLoanAddressFirst";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newProtocolFee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            name: "updateProtocolFee";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newTaxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            name: "updateTaxes";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "receive";
                                                            stateMutability: "payable";
                                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "BNPLLoansStarted" | "MultiSourceLoanPendingUpdate" | "MultiSourceLoanUpdated" | "SellAndRepayExecuted" | "TransferOwnerRequested" | "TaxesPendingUpdate" | "TaxesUpdated")[]
                                                            ? TFunctionName[number]
                                                            : TFunctionName>
                                                      • +
                                                      • +
                                                        +

                                                        Type Parameters

                                                        +
                                                          +
                                                        • +

                                                          TFunctionName extends "OwnershipTransferred" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "BNPLLoansStarted" | "MultiSourceLoanPendingUpdate" | "MultiSourceLoanUpdated" | "SellAndRepayExecuted" | "TransferOwnerRequested" | "TaxesPendingUpdate" | "TaxesUpdated"

                                                        +
                                                        +

                                                        Parameters

                                                        +
                                                          +
                                                        • +
                                                          eventName: TFunctionName
                                                        • +
                                                        • +
                                                          logs: Log<bigint, number, false>[]
                                                        +

                                                        Returns ParseEventLogsReturnType<readonly [{
                                                            type: "constructor";
                                                            inputs: readonly [{
                                                                name: "_multiSourceLoanAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_marketplaceContracts";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_wethAddress";
                                                                internalType: "address payable";
                                                                type: "address";
                                                            }, {
                                                                name: "_punkMarketAddress";
                                                                internalType: "address payable";
                                                                type: "address";
                                                            }, {
                                                                name: "_wrappedPunkAddress";
                                                                internalType: "address payable";
                                                                type: "address";
                                                            }, {
                                                                name: "__taxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }, {
                                                                name: "_minWaitTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "__protocolFee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "AddressZeroError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CouldNotReturnEthError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "InvalidAddressUpdateError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "InvalidCallbackError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "InvalidInputError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "newTaxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            name: "InvalidTaxesError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "MarketplaceAddressNotWhitelisted";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "OnlyLoanCallableError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "OnlyWethSupportedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "_pendingProtocolFeeSetTime";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "TooEarlyError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "TooSoonError";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "loanIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                                indexed: false;
                                                            }];
                                                            name: "BNPLLoansStarted";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }];
                                                            name: "MultiSourceLoanPendingUpdate";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }];
                                                            name: "MultiSourceLoanUpdated";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "user";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }];
                                                            name: "OwnershipTransferred";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "fee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "ProtocolFeePendingUpdate";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "fee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "ProtocolFeeUpdated";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "loanIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                                indexed: false;
                                                            }];
                                                            name: "SellAndRepayExecuted";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newTaxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "TaxesPendingUpdate";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "taxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                                indexed: false;
                                                            }];
                                                            name: "TaxesUpdated";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }];
                                                            name: "TransferOwnerRequested";
                                                        }, {
                                                            type: "fallback";
                                                            stateMutability: "payable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "FEE_UPDATE_NOTICE";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "MIN_WAIT_TIME";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "TAX_UPDATE_NOTICE";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_loan";
                                                                internalType: "struct IMultiSourceLoan.Loan";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "borrower";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "tranche";
                                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "floor";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "accruedInterest";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "startTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    name: "protocolFee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "_executionData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "afterNFTTransfer";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_loan";
                                                                internalType: "struct IMultiSourceLoan.Loan";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "borrower";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "tranche";
                                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "floor";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "accruedInterest";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "startTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    name: "protocolFee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                name: "_fee";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_executionData";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "afterPrincipalTransfer";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_executionData";
                                                                internalType: "bytes[]";
                                                                type: "bytes[]";
                                                            }];
                                                            name: "buy";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "";
                                                                internalType: "struct IMultiSourceLoan.Loan[]";
                                                                type: "tuple[]";
                                                                components: readonly [{
                                                                    name: "borrower";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "nftCollateralTokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "nftCollateralAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAddress";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "principalAmount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "startTime";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "duration";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "tranche";
                                                                    internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                    type: "tuple[]";
                                                                    components: readonly [{
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "floor";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "principalAmount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "lender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "accruedInterest";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "startTime";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "aprBps";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    name: "protocolFee";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "payable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "finalUpdateMultiSourceLoanAddress";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getMultiSourceLoanAddress";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingProtocolFee";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingProtocolFeeSetTime";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingTaxes";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getPendingTaxesSetTime";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getProtocolFee";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "getTaxes";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "onERC721Received";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "owner";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "pendingOwner";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "pendingOwnerTime";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "requestTransferOwner";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_executionData";
                                                                internalType: "bytes[]";
                                                                type: "bytes[]";
                                                            }];
                                                            name: "sell";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "setProtocolFee";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "setTaxes";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "transferOwnership";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "transferOwnership";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newAddress";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "updateMultiSourceLoanAddressFirst";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newProtocolFee";
                                                                internalType: "struct WithProtocolFee.ProtocolFee";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "recipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "fraction";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }];
                                                            name: "updateProtocolFee";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_newTaxes";
                                                                internalType: "struct IPurchaseBundler.Taxes";
                                                                type: "tuple";
                                                                components: readonly [{
                                                                    name: "buyTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }, {
                                                                    name: "sellTax";
                                                                    internalType: "uint128";
                                                                    type: "uint128";
                                                                }];
                                                            }];
                                                            name: "updateTaxes";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "receive";
                                                            stateMutability: "payable";
                                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "BNPLLoansStarted" | "MultiSourceLoanPendingUpdate" | "MultiSourceLoanUpdated" | "SellAndRepayExecuted" | "TransferOwnerRequested" | "TaxesPendingUpdate" | "TaxesUpdated")[]
                                                            ? TFunctionName[number]
                                                            : TFunctionName>

                                                    +
                                                    + +
                                                    +
                                                    \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.UserVaultV5.html b/docs/0.15.0b2/classes/Internal.UserVaultV5.html new file mode 100644 index 00000000..1d28a883 --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.UserVaultV5.html @@ -0,0 +1,658 @@ +UserVaultV5 | Gondi JS SDK - v0.15.0b2
                                                    +
                                                    + +
                                                    +
                                                    +
                                                    +
                                                    + +

                                                    Class UserVaultV5

                                                    +
                                                    +

                                                    Hierarchy

                                                    +
                                                    +
                                                    +
                                                    +
                                                    + +
                                                    +
                                                    +

                                                    Constructors

                                                    +
                                                    + +
                                                    +
                                                    +

                                                    Methods

                                                    +
                                                    + +
                                                      + +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                      +

                                                      Returns Promise<{
                                                          txHash: `0x${string}`;
                                                          waitTxInBlock: (() => Promise<{
                                                              events: {
                                                                  vaultId: bigint;
                                                                  collection: `0x${string}`;
                                                                  tokenId: bigint;
                                                              }[];
                                                              oldEvents: {
                                                                  vaultId: bigint;
                                                                  collection: `0x${string}`;
                                                                  tokenId: bigint;
                                                              }[];
                                                          }>);
                                                      }>

                                                    +
                                                    + +
                                                      + +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                      +

                                                      Returns Promise<{
                                                          vaultId: bigint;
                                                          receipts: {
                                                              vaultId: bigint;
                                                              collection: `0x${string}`;
                                                              tokenId: bigint;
                                                          }[];
                                                      }>

                                                    +
                                                    + +
                                                      + +
                                                    • +
                                                      +

                                                      Parameters

                                                      +
                                                      +

                                                      Returns Promise<{
                                                          txHash: `0x${string}`;
                                                          waitTxInBlock: (() => Promise<{
                                                              vaultId: bigint;
                                                              collection: `0x${string}`;
                                                              tokenId: bigint;
                                                          }>);
                                                      }>

                                                    +
                                                    + +
                                                      + +
                                                    • +

                                                      Returns Promise<{
                                                          txHash: `0x${string}`;
                                                          waitTxInBlock: (() => Promise<{
                                                              vaultId: bigint;
                                                              token: `0x${string}`;
                                                              tokenId: bigint;
                                                              amount: bigint;
                                                          }>);
                                                      }>

                                                    +
                                                    +

                                                    Properties

                                                    +
                                                    + +
                                                    abi: readonly [{
                                                        stateMutability: "nonpayable";
                                                        type: "constructor";
                                                        inputs: readonly [{
                                                            name: "currencyManager";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "collectionManager";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "AssetNotOwnedError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "CollectionNotWhitelistedError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "CurrencyNotWhitelistedError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "LengthMismatchError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [{
                                                            name: "vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "NotApprovedError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [{
                                                            name: "vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "VaultNotExistsError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "WithdrawingETHError";
                                                    }, {
                                                        type: "error";
                                                        inputs: readonly [];
                                                        name: "WrongMethodError";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "spender";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: true;
                                                        }];
                                                        name: "Approval";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "operator";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "approved";
                                                            internalType: "bool";
                                                            type: "bool";
                                                            indexed: false;
                                                        }];
                                                        name: "ApprovalForAll";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }, {
                                                            name: "token";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }, {
                                                            name: "amount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }];
                                                        name: "ERC20Deposited";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }, {
                                                            name: "token";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }, {
                                                            name: "amount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }];
                                                        name: "ERC20Withdrawn";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }, {
                                                            name: "collection";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }];
                                                        name: "ERC721Deposited";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }, {
                                                            name: "collection";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: false;
                                                        }, {
                                                            name: "tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: false;
                                                        }];
                                                        name: "ERC721Withdrawn";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "user";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }];
                                                        name: "OwnershipTransferred";
                                                    }, {
                                                        type: "event";
                                                        anonymous: false;
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                            indexed: true;
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                            indexed: true;
                                                        }];
                                                        name: "Transfer";
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_token";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "ERC20BalanceOf";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_collection";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "ERC721OwnerOf";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "ETH";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "spender";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "approve";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "balanceOf";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_assetRecipient";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "burn";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_collections";
                                                            internalType: "address[]";
                                                            type: "address[]";
                                                        }, {
                                                            name: "_tokenIds";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }, {
                                                            name: "_tokens";
                                                            internalType: "address[]";
                                                            type: "address[]";
                                                        }];
                                                        name: "burnAndWithdraw";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_token";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_amount";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "depositERC20";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_collection";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "depositERC721";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_collection";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_tokenIds";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        name: "depositERC721s";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "payable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "depositEth";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "getApproved";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "isApprovedForAll";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "mint";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "name";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "onERC721Received";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "owner";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "ownerOf";
                                                        outputs: readonly [{
                                                            name: "owner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "safeTransferFrom";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "data";
                                                            internalType: "bytes";
                                                            type: "bytes";
                                                        }];
                                                        name: "safeTransferFrom";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "operator";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "approved";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                        name: "setApprovalForAll";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "interfaceId";
                                                            internalType: "bytes4";
                                                            type: "bytes4";
                                                        }];
                                                        name: "supportsInterface";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "bool";
                                                            type: "bool";
                                                        }];
                                                    }, {
                                                        stateMutability: "view";
                                                        type: "function";
                                                        inputs: readonly [];
                                                        name: "symbol";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                    }, {
                                                        stateMutability: "pure";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "tokenURI";
                                                        outputs: readonly [{
                                                            name: "";
                                                            internalType: "string";
                                                            type: "string";
                                                        }];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "from";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "to";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "id";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "transferFrom";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "newOwner";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "transferOwnership";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_token";
                                                            internalType: "address";
                                                            type: "address";
                                                        }];
                                                        name: "withdrawERC20";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_tokens";
                                                            internalType: "address[]";
                                                            type: "address[]";
                                                        }];
                                                        name: "withdrawERC20s";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_collection";
                                                            internalType: "address";
                                                            type: "address";
                                                        }, {
                                                            name: "_tokenId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "withdrawERC721";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }, {
                                                            name: "_collections";
                                                            internalType: "address[]";
                                                            type: "address[]";
                                                        }, {
                                                            name: "_tokenIds";
                                                            internalType: "uint256[]";
                                                            type: "uint256[]";
                                                        }];
                                                        name: "withdrawERC721s";
                                                        outputs: readonly [];
                                                    }, {
                                                        stateMutability: "nonpayable";
                                                        type: "function";
                                                        inputs: readonly [{
                                                            name: "_vaultId";
                                                            internalType: "uint256";
                                                            type: "uint256";
                                                        }];
                                                        name: "withdrawEth";
                                                        outputs: readonly [];
                                                    }]
                                                    +
                                                    + +
                                                    address: `0x${string}`
                                                    +
                                                    + +
                                                    bcClient: {}
                                                    +
                                                    +

                                                    Type declaration

                                                    +
                                                      +
                                                      + +
                                                      wallet: {}
                                                      +
                                                      +

                                                      Type declaration

                                                      +
                                                        +
                                                        + +
                                                        contract: GetContractReturnType<readonly [{
                                                            stateMutability: "nonpayable";
                                                            type: "constructor";
                                                            inputs: readonly [{
                                                                name: "currencyManager";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "collectionManager";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "AssetNotOwnedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CollectionNotWhitelistedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CurrencyNotWhitelistedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "LengthMismatchError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "NotApprovedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "VaultNotExistsError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "WithdrawingETHError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "WrongMethodError";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "spender";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: true;
                                                            }];
                                                            name: "Approval";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "operator";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "approved";
                                                                internalType: "bool";
                                                                type: "bool";
                                                                indexed: false;
                                                            }];
                                                            name: "ApprovalForAll";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC20Deposited";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC20Withdrawn";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "collection";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC721Deposited";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "collection";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC721Withdrawn";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "user";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }];
                                                            name: "OwnershipTransferred";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: true;
                                                            }];
                                                            name: "Transfer";
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "ERC20BalanceOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "ERC721OwnerOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "ETH";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "spender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "approve";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "balanceOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_assetRecipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "burn";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collections";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "_tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }];
                                                            name: "burnAndWithdraw";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositERC20";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositERC721";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "depositERC721s";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "payable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositEth";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "getApproved";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "isApprovedForAll";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "mint";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "name";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "onERC721Received";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "owner";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "ownerOf";
                                                            outputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "safeTransferFrom";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "data";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "safeTransferFrom";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "operator";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "approved";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                            name: "setApprovalForAll";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "interfaceId";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            name: "supportsInterface";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "symbol";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                        }, {
                                                            stateMutability: "pure";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "tokenURI";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "transferFrom";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "transferOwnership";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "withdrawERC20";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }];
                                                            name: "withdrawERC20s";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "withdrawERC721";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collections";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "withdrawERC721s";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "withdrawEth";
                                                            outputs: readonly [];
                                                        }], {} | {}>
                                                        +
                                                        + +
                                                        safeContractWrite: {
                                                            transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                            onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                            approve: ((args, options?) => Promise<`0x${string}`>);
                                                            transferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                            safeTransferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                            setApprovalForAll: ((args, options?) => Promise<`0x${string}`>);
                                                            mint: ((args, options?) => Promise<`0x${string}`>);
                                                            burn: ((args, options?) => Promise<`0x${string}`>);
                                                            burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>);
                                                            depositERC20: ((args, options?) => Promise<`0x${string}`>);
                                                            depositERC721: ((args, options?) => Promise<`0x${string}`>);
                                                            depositERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                            depositEth: ((args, options?) => Promise<`0x${string}`>);
                                                            withdrawERC20: ((args, options?) => Promise<`0x${string}`>);
                                                            withdrawERC20s: ((args, options?) => Promise<`0x${string}`>);
                                                            withdrawERC721: ((args, options?) => Promise<`0x${string}`>);
                                                            withdrawERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                            withdrawEth: ((args, options?) => Promise<`0x${string}`>);
                                                        }
                                                        +
                                                        +

                                                        Type declaration

                                                        +
                                                          +
                                                        • +
                                                          transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [`0x${string}`]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          approve: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [`0x${string}`, bigint]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          transferFrom: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [`0x${string}`, `0x${string}`, bigint]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          safeTransferFrom: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: (undefined | readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]) & Widen<readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]>
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          setApprovalForAll: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [`0x${string}`, Widen<boolean>] | readonly [`0x${string}`, boolean] & readonly [`0x${string}`, Widen<boolean>]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          mint: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: undefined | readonly []
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          burn: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, `0x${string}`]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[]] | readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[]] & readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[]]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          depositERC20: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, `0x${string}`, bigint]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          depositERC721: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, `0x${string}`, bigint]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          depositERC721s: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, `0x${string}`, readonly bigint[]] | readonly [bigint, `0x${string}`, readonly bigint[]] & readonly [bigint, `0x${string}`, readonly bigint[]]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          depositEth: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          withdrawERC20: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, `0x${string}`]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          withdrawERC20s: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, readonly `0x${string}`[]] | readonly [bigint, readonly `0x${string}`[]] & readonly [bigint, readonly `0x${string}`[]]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          withdrawERC721: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, `0x${string}`, bigint]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          withdrawERC721s: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint, readonly `0x${string}`[], readonly bigint[]] | readonly [bigint, readonly `0x${string}`[], readonly bigint[]] & readonly [bigint, readonly `0x${string}`[], readonly bigint[]]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        • +
                                                        • +
                                                          withdrawEth: ((args, options?) => Promise<`0x${string}`>)
                                                          +
                                                            +
                                                          • +
                                                              +
                                                            • (args, options?): Promise<`0x${string}`>
                                                            • +
                                                            • +
                                                              +

                                                              Parameters

                                                              +
                                                                +
                                                              • +
                                                                args: readonly [bigint]
                                                              • +
                                                              • +
                                                                Optional options: {
                                                                    value?: bigint;
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional value?: bigint
                                                              +

                                                              Returns Promise<`0x${string}`>

                                                        +
                                                        + +
                                                        parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                            stateMutability: "nonpayable";
                                                            type: "constructor";
                                                            inputs: readonly [{
                                                                name: "currencyManager";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "collectionManager";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "AssetNotOwnedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CollectionNotWhitelistedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CurrencyNotWhitelistedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "LengthMismatchError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "NotApprovedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "VaultNotExistsError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "WithdrawingETHError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "WrongMethodError";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "spender";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: true;
                                                            }];
                                                            name: "Approval";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "operator";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "approved";
                                                                internalType: "bool";
                                                                type: "bool";
                                                                indexed: false;
                                                            }];
                                                            name: "ApprovalForAll";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC20Deposited";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC20Withdrawn";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "collection";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC721Deposited";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "collection";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC721Withdrawn";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "user";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }];
                                                            name: "OwnershipTransferred";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: true;
                                                            }];
                                                            name: "Transfer";
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "ERC20BalanceOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "ERC721OwnerOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "ETH";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "spender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "approve";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "balanceOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_assetRecipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "burn";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collections";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "_tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }];
                                                            name: "burnAndWithdraw";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositERC20";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositERC721";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "depositERC721s";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "payable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositEth";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "getApproved";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "isApprovedForAll";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "mint";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "name";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "onERC721Received";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "owner";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "ownerOf";
                                                            outputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "safeTransferFrom";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "data";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "safeTransferFrom";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "operator";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "approved";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                            name: "setApprovalForAll";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "interfaceId";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            name: "supportsInterface";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                        }, {
                                                            stateMutability: "view";
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "symbol";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                        }, {
                                                            stateMutability: "pure";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "tokenURI";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "transferFrom";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "transferOwnership";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "withdrawERC20";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }];
                                                            name: "withdrawERC20s";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "withdrawERC721";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collections";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "withdrawERC721s";
                                                            outputs: readonly [];
                                                        }, {
                                                            stateMutability: "nonpayable";
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "withdrawEth";
                                                            outputs: readonly [];
                                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
                                                            ? TFunctionName[number]
                                                            : TFunctionName>)
                                                        +
                                                        +

                                                        Type declaration

                                                        +
                                                          +
                                                        • +
                                                            +
                                                          • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                                                                stateMutability: "nonpayable";
                                                                type: "constructor";
                                                                inputs: readonly [{
                                                                    name: "currencyManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "collectionManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "AssetNotOwnedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CollectionNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CurrencyNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "LengthMismatchError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "NotApprovedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "VaultNotExistsError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WithdrawingETHError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WrongMethodError";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Approval";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                    indexed: false;
                                                                }];
                                                                name: "ApprovalForAll";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "user";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }];
                                                                name: "OwnershipTransferred";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Transfer";
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "ERC20BalanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ERC721OwnerOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "ETH";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "approve";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "balanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_assetRecipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "burn";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }];
                                                                name: "burnAndWithdraw";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC20";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC721";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "depositERC721s";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "payable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositEth";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "getApproved";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "isApprovedForAll";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "mint";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "name";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC721Received";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "owner";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ownerOf";
                                                                outputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "data";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                name: "setApprovalForAll";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "interfaceId";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                name: "supportsInterface";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "symbol";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                            }, {
                                                                stateMutability: "pure";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "tokenURI";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "transferFrom";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "transferOwnership";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "withdrawERC20";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }];
                                                                name: "withdrawERC20s";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawERC721";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "withdrawERC721s";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawEth";
                                                                outputs: readonly [];
                                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
                                                                ? TFunctionName[number]
                                                                : TFunctionName>
                                                          • +
                                                          • +
                                                            +

                                                            Type Parameters

                                                            +
                                                              +
                                                            • +

                                                              TFunctionName extends "OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn"

                                                            +
                                                            +

                                                            Parameters

                                                            +
                                                              +
                                                            • +
                                                              eventName: TFunctionName
                                                            • +
                                                            • +
                                                              logs: Log<bigint, number, false>[]
                                                            +

                                                            Returns ParseEventLogsReturnType<readonly [{
                                                                stateMutability: "nonpayable";
                                                                type: "constructor";
                                                                inputs: readonly [{
                                                                    name: "currencyManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "collectionManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "AssetNotOwnedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CollectionNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CurrencyNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "LengthMismatchError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "NotApprovedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "VaultNotExistsError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WithdrawingETHError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WrongMethodError";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Approval";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                    indexed: false;
                                                                }];
                                                                name: "ApprovalForAll";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "user";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }];
                                                                name: "OwnershipTransferred";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Transfer";
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "ERC20BalanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ERC721OwnerOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "ETH";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "approve";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "balanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_assetRecipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "burn";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }];
                                                                name: "burnAndWithdraw";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC20";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC721";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "depositERC721s";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "payable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositEth";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "getApproved";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "isApprovedForAll";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "mint";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "name";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC721Received";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "owner";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ownerOf";
                                                                outputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "data";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                name: "setApprovalForAll";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "interfaceId";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                name: "supportsInterface";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                            }, {
                                                                stateMutability: "view";
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "symbol";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                            }, {
                                                                stateMutability: "pure";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "tokenURI";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "transferFrom";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "transferOwnership";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "withdrawERC20";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }];
                                                                name: "withdrawERC20s";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawERC721";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "withdrawERC721s";
                                                                outputs: readonly [];
                                                            }, {
                                                                stateMutability: "nonpayable";
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawEth";
                                                                outputs: readonly [];
                                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
                                                                ? TFunctionName[number]
                                                                : TFunctionName>

                                                        +
                                                        + +
                                                        +
                                                        \ No newline at end of file diff --git a/docs/0.15.0b2/classes/Internal.UserVaultV6.html b/docs/0.15.0b2/classes/Internal.UserVaultV6.html new file mode 100644 index 00000000..223ea9fe --- /dev/null +++ b/docs/0.15.0b2/classes/Internal.UserVaultV6.html @@ -0,0 +1,771 @@ +UserVaultV6 | Gondi JS SDK - v0.15.0b2
                                                        +
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        + +

                                                        Class UserVaultV6

                                                        +
                                                        +

                                                        Hierarchy

                                                        +
                                                        +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        +

                                                        Constructors

                                                        +
                                                        + +
                                                        +
                                                        +

                                                        Methods

                                                        +
                                                        + +
                                                          + +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                          +

                                                          Returns Promise<{
                                                              txHash: `0x${string}`;
                                                              waitTxInBlock: (() => Promise<{
                                                                  events: {
                                                                      vaultId: bigint;
                                                                      collection: `0x${string}`;
                                                                      tokenId: bigint;
                                                                  }[];
                                                                  oldEvents: {
                                                                      vaultId: bigint;
                                                                      collection: `0x${string}`;
                                                                      tokenId: bigint;
                                                                  }[];
                                                              }>);
                                                          }>

                                                        +
                                                        + +
                                                          + +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                          +

                                                          Returns Promise<{
                                                              vaultId: bigint;
                                                              receipts: ({
                                                                  vaultId: bigint;
                                                                  collection: `0x${string}`;
                                                                  tokenId: bigint;
                                                              } | {
                                                                  vaultId: bigint;
                                                                  token: `0x${string}`;
                                                                  tokenId: bigint;
                                                                  amount: bigint;
                                                              })[];
                                                          }>

                                                        +
                                                        + +
                                                          + +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                          +

                                                          Returns Promise<{
                                                              txHash: `0x${string}`;
                                                              waitTxInBlock: (() => Promise<{
                                                                  vaultId: bigint;
                                                                  collection: `0x${string}`;
                                                                  tokenId: bigint;
                                                              }>);
                                                          }>

                                                        +
                                                        + +
                                                          + +
                                                        • +
                                                          +

                                                          Parameters

                                                          +
                                                          +

                                                          Returns Promise<{
                                                              txHash: `0x${string}`;
                                                              waitTxInBlock: (() => Promise<{
                                                                  vaultId: bigint;
                                                                  token: `0x${string}`;
                                                                  tokenId: bigint;
                                                                  amount: bigint;
                                                              }>);
                                                          }>

                                                        +
                                                        +

                                                        Properties

                                                        +
                                                        + +
                                                        abi: readonly [{
                                                            type: "constructor";
                                                            inputs: readonly [{
                                                                name: "currencyManager";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "collectionManager";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "ERC1155BalanceOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "ERC20BalanceOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "ERC721OwnerOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "ETH";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "spender";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "approve";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "balanceOf";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_assetRecipient";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "burn";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collections";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "_tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_erc1155Tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_erc1155TokensIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "burnAndWithdraw";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositERC1155";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "_amounts";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "depositERC1155s";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositERC20";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositERC721";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "depositERC721s";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "depositEth";
                                                            outputs: readonly [];
                                                            stateMutability: "payable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "getApproved";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "isApprovedForAll";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "mint";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "name";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }, {
                                                                name: "";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "onERC1155BatchReceived";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "onERC1155Received";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "onERC721Received";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "owner";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "ownerOf";
                                                            outputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "safeTransferFrom";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "data";
                                                                internalType: "bytes";
                                                                type: "bytes";
                                                            }];
                                                            name: "safeTransferFrom";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "operator";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "approved";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                            name: "setApprovalForAll";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "interfaceId";
                                                                internalType: "bytes4";
                                                                type: "bytes4";
                                                            }];
                                                            name: "supportsInterface";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "bool";
                                                                type: "bool";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [];
                                                            name: "symbol";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                            stateMutability: "view";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "tokenURI";
                                                            outputs: readonly [{
                                                                name: "";
                                                                internalType: "string";
                                                                type: "string";
                                                            }];
                                                            stateMutability: "pure";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "transferFrom";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "transferOwnership";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "withdrawERC1155";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "withdrawERC1155s";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_token";
                                                                internalType: "address";
                                                                type: "address";
                                                            }];
                                                            name: "withdrawERC20";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_tokens";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }];
                                                            name: "withdrawERC20s";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collection";
                                                                internalType: "address";
                                                                type: "address";
                                                            }, {
                                                                name: "_tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "withdrawERC721";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }, {
                                                                name: "_collections";
                                                                internalType: "address[]";
                                                                type: "address[]";
                                                            }, {
                                                                name: "_tokenIds";
                                                                internalType: "uint256[]";
                                                                type: "uint256[]";
                                                            }];
                                                            name: "withdrawERC721s";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "function";
                                                            inputs: readonly [{
                                                                name: "_vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "withdrawEth";
                                                            outputs: readonly [];
                                                            stateMutability: "nonpayable";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "spender";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: true;
                                                            }];
                                                            name: "Approval";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "owner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "operator";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "approved";
                                                                internalType: "bool";
                                                                type: "bool";
                                                                indexed: false;
                                                            }];
                                                            name: "ApprovalForAll";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC1155Deposited";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC1155Withdrawn";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC20Deposited";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "token";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "amount";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC20Withdrawn";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "collection";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC721Deposited";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }, {
                                                                name: "collection";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: false;
                                                            }, {
                                                                name: "tokenId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: false;
                                                            }];
                                                            name: "ERC721Withdrawn";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "user";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "newOwner";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }];
                                                            name: "OwnershipTransferred";
                                                        }, {
                                                            type: "event";
                                                            anonymous: false;
                                                            inputs: readonly [{
                                                                name: "from";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "to";
                                                                internalType: "address";
                                                                type: "address";
                                                                indexed: true;
                                                            }, {
                                                                name: "id";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                                indexed: true;
                                                            }];
                                                            name: "Transfer";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "AssetNotOwnedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CollectionNotWhitelistedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "CurrencyNotWhitelistedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "InvalidCallerError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "LengthMismatchError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [{
                                                                name: "vaultId";
                                                                internalType: "uint256";
                                                                type: "uint256";
                                                            }];
                                                            name: "NotApprovedError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "VaultNotExistsError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "WithdrawingETHError";
                                                        }, {
                                                            type: "error";
                                                            inputs: readonly [];
                                                            name: "WrongMethodError";
                                                        }]
                                                        +
                                                        + +
                                                        address: `0x${string}`
                                                        +
                                                        + +
                                                        bcClient: {}
                                                        +
                                                        +

                                                        Type declaration

                                                        +
                                                          +
                                                          + +
                                                          wallet: {}
                                                          +
                                                          +

                                                          Type declaration

                                                          +
                                                            +
                                                            + +
                                                            contract: GetContractReturnType<readonly [{
                                                                type: "constructor";
                                                                inputs: readonly [{
                                                                    name: "currencyManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "collectionManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ERC1155BalanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "ERC20BalanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ERC721OwnerOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "ETH";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "approve";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "balanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_assetRecipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "burn";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_erc1155Tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_erc1155TokensIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "burnAndWithdraw";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC1155";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "_amounts";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "depositERC1155s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC20";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC721";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "depositERC721s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositEth";
                                                                outputs: readonly [];
                                                                stateMutability: "payable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "getApproved";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "isApprovedForAll";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "mint";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "name";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC1155BatchReceived";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC1155Received";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC721Received";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "owner";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ownerOf";
                                                                outputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "data";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                name: "setApprovalForAll";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "interfaceId";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                name: "supportsInterface";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "symbol";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "tokenURI";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                                stateMutability: "pure";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "transferFrom";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "transferOwnership";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawERC1155";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "withdrawERC1155s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "withdrawERC20";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }];
                                                                name: "withdrawERC20s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawERC721";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "withdrawERC721s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawEth";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Approval";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                    indexed: false;
                                                                }];
                                                                name: "ApprovalForAll";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC1155Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC1155Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "user";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }];
                                                                name: "OwnershipTransferred";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Transfer";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "AssetNotOwnedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CollectionNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CurrencyNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "InvalidCallerError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "LengthMismatchError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "NotApprovedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "VaultNotExistsError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WithdrawingETHError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WrongMethodError";
                                                            }], {} | {}>
                                                            +
                                                            + +
                                                            safeContractWrite: {
                                                                transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                approve: ((args, options?) => Promise<`0x${string}`>);
                                                                transferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                safeTransferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                setApprovalForAll: ((args, options?) => Promise<`0x${string}`>);
                                                                mint: ((args, options?) => Promise<`0x${string}`>);
                                                                burn: ((args, options?) => Promise<`0x${string}`>);
                                                                burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>);
                                                                depositERC20: ((args, options?) => Promise<`0x${string}`>);
                                                                depositERC721: ((args, options?) => Promise<`0x${string}`>);
                                                                depositERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                                depositEth: ((args, options?) => Promise<`0x${string}`>);
                                                                withdrawERC20: ((args, options?) => Promise<`0x${string}`>);
                                                                withdrawERC20s: ((args, options?) => Promise<`0x${string}`>);
                                                                withdrawERC721: ((args, options?) => Promise<`0x${string}`>);
                                                                withdrawERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                                withdrawEth: ((args, options?) => Promise<`0x${string}`>);
                                                                depositERC1155: ((args, options?) => Promise<`0x${string}`>);
                                                                depositERC1155s: ((args, options?) => Promise<`0x${string}`>);
                                                                withdrawERC1155: ((args, options?) => Promise<`0x${string}`>);
                                                                withdrawERC1155s: ((args, options?) => Promise<`0x${string}`>);
                                                                onERC1155BatchReceived: ((args, options?) => Promise<`0x${string}`>);
                                                                onERC1155Received: ((args, options?) => Promise<`0x${string}`>);
                                                            }
                                                            +
                                                            +

                                                            Type declaration

                                                            +
                                                              +
                                                            • +
                                                              transferOwnership: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [`0x${string}`]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              onERC721Received: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              approve: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [`0x${string}`, bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              transferFrom: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [`0x${string}`, `0x${string}`, bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              safeTransferFrom: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: (undefined | readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]) & Widen<readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint, `0x${string}`]>
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              setApprovalForAll: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [`0x${string}`, Widen<boolean>] | readonly [`0x${string}`, boolean] & readonly [`0x${string}`, Widen<boolean>]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              mint: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: undefined | readonly []
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              burn: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[], readonly `0x${string}`[], readonly bigint[]] | readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[], readonly `0x${string}`[], readonly bigint[]] & readonly [bigint, readonly `0x${string}`[], readonly bigint[], readonly `0x${string}`[], readonly `0x${string}`[], readonly bigint[]]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              depositERC20: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`, bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              depositERC721: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`, bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              depositERC721s: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`, readonly bigint[]] | readonly [bigint, `0x${string}`, readonly bigint[]] & readonly [bigint, `0x${string}`, readonly bigint[]]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              depositEth: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              withdrawERC20: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              withdrawERC20s: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, readonly `0x${string}`[]] | readonly [bigint, readonly `0x${string}`[]] & readonly [bigint, readonly `0x${string}`[]]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              withdrawERC721: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`, bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              withdrawERC721s: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, readonly `0x${string}`[], readonly bigint[]] | readonly [bigint, readonly `0x${string}`[], readonly bigint[]] & readonly [bigint, readonly `0x${string}`[], readonly bigint[]]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              withdrawEth: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              depositERC1155: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`, bigint, bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              depositERC1155s: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`, readonly bigint[], readonly bigint[]] | readonly [bigint, `0x${string}`, readonly bigint[], readonly bigint[]] & readonly [bigint, `0x${string}`, readonly bigint[], readonly bigint[]]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              withdrawERC1155: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, `0x${string}`, bigint]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              withdrawERC1155s: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [bigint, readonly `0x${string}`[], readonly bigint[]] | readonly [bigint, readonly `0x${string}`[], readonly bigint[]] & readonly [bigint, readonly `0x${string}`[], readonly bigint[]]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              onERC1155BatchReceived: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [`0x${string}`, `0x${string}`, readonly bigint[], readonly bigint[], `0x${string}`] | readonly [`0x${string}`, `0x${string}`, readonly bigint[], readonly bigint[], `0x${string}`] & readonly [`0x${string}`, `0x${string}`, readonly bigint[], readonly bigint[], `0x${string}`]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            • +
                                                            • +
                                                              onERC1155Received: ((args, options?) => Promise<`0x${string}`>)
                                                              +
                                                                +
                                                              • +
                                                                  +
                                                                • (args, options?): Promise<`0x${string}`>
                                                                • +
                                                                • +
                                                                  +

                                                                  Parameters

                                                                  +
                                                                    +
                                                                  • +
                                                                    args: readonly [`0x${string}`, `0x${string}`, bigint, bigint, `0x${string}`]
                                                                  • +
                                                                  • +
                                                                    Optional options: {
                                                                        value?: bigint;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional value?: bigint
                                                                  +

                                                                  Returns Promise<`0x${string}`>

                                                            +
                                                            + +
                                                            parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                type: "constructor";
                                                                inputs: readonly [{
                                                                    name: "currencyManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "collectionManager";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ERC1155BalanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "ERC20BalanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ERC721OwnerOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "ETH";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "approve";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "balanceOf";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_assetRecipient";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "burn";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_erc1155Tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_erc1155TokensIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "burnAndWithdraw";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC1155";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "_amounts";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "depositERC1155s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC20";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositERC721";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "depositERC721s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "depositEth";
                                                                outputs: readonly [];
                                                                stateMutability: "payable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "getApproved";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "isApprovedForAll";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "mint";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "name";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC1155BatchReceived";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC1155Received";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "onERC721Received";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "owner";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "ownerOf";
                                                                outputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "data";
                                                                    internalType: "bytes";
                                                                    type: "bytes";
                                                                }];
                                                                name: "safeTransferFrom";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                name: "setApprovalForAll";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "interfaceId";
                                                                    internalType: "bytes4";
                                                                    type: "bytes4";
                                                                }];
                                                                name: "supportsInterface";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [];
                                                                name: "symbol";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                                stateMutability: "view";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "tokenURI";
                                                                outputs: readonly [{
                                                                    name: "";
                                                                    internalType: "string";
                                                                    type: "string";
                                                                }];
                                                                stateMutability: "pure";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "transferFrom";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "transferOwnership";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawERC1155";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "withdrawERC1155s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }];
                                                                name: "withdrawERC20";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_tokens";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }];
                                                                name: "withdrawERC20s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                }, {
                                                                    name: "_tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawERC721";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }, {
                                                                    name: "_collections";
                                                                    internalType: "address[]";
                                                                    type: "address[]";
                                                                }, {
                                                                    name: "_tokenIds";
                                                                    internalType: "uint256[]";
                                                                    type: "uint256[]";
                                                                }];
                                                                name: "withdrawERC721s";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "function";
                                                                inputs: readonly [{
                                                                    name: "_vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "withdrawEth";
                                                                outputs: readonly [];
                                                                stateMutability: "nonpayable";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "spender";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Approval";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "owner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "operator";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "approved";
                                                                    internalType: "bool";
                                                                    type: "bool";
                                                                    indexed: false;
                                                                }];
                                                                name: "ApprovalForAll";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC1155Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC1155Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "token";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "amount";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC20Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Deposited";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "collection";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: false;
                                                                }, {
                                                                    name: "tokenId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: false;
                                                                }];
                                                                name: "ERC721Withdrawn";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "user";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "newOwner";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }];
                                                                name: "OwnershipTransferred";
                                                            }, {
                                                                type: "event";
                                                                anonymous: false;
                                                                inputs: readonly [{
                                                                    name: "from";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "to";
                                                                    internalType: "address";
                                                                    type: "address";
                                                                    indexed: true;
                                                                }, {
                                                                    name: "id";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                    indexed: true;
                                                                }];
                                                                name: "Transfer";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "AssetNotOwnedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CollectionNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "CurrencyNotWhitelistedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "InvalidCallerError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "LengthMismatchError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [{
                                                                    name: "vaultId";
                                                                    internalType: "uint256";
                                                                    type: "uint256";
                                                                }];
                                                                name: "NotApprovedError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "VaultNotExistsError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WithdrawingETHError";
                                                            }, {
                                                                type: "error";
                                                                inputs: readonly [];
                                                                name: "WrongMethodError";
                                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn" | "ERC1155Deposited" | "ERC1155Withdrawn")[]
                                                                ? TFunctionName[number]
                                                                : TFunctionName>)
                                                            +
                                                            +

                                                            Type declaration

                                                            +
                                                              +
                                                            • +
                                                                +
                                                              • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
                                                                    type: "constructor";
                                                                    inputs: readonly [{
                                                                        name: "currencyManager";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "collectionManager";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "ERC1155BalanceOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "ERC20BalanceOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "ERC721OwnerOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "ETH";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "spender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "approve";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "balanceOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_assetRecipient";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "burn";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collections";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "_tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_erc1155Tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_erc1155TokensIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "burnAndWithdraw";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositERC1155";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "_amounts";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "depositERC1155s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositERC20";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositERC721";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "depositERC721s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositEth";
                                                                    outputs: readonly [];
                                                                    stateMutability: "payable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "getApproved";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "isApprovedForAll";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "mint";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "name";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "string";
                                                                        type: "string";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "onERC1155BatchReceived";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "onERC1155Received";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "onERC721Received";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "owner";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "ownerOf";
                                                                    outputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "safeTransferFrom";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "data";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "safeTransferFrom";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "operator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "approved";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                    }];
                                                                    name: "setApprovalForAll";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "interfaceId";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    name: "supportsInterface";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "symbol";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "string";
                                                                        type: "string";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "tokenURI";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "string";
                                                                        type: "string";
                                                                    }];
                                                                    stateMutability: "pure";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "transferFrom";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "newOwner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "transferOwnership";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "withdrawERC1155";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "withdrawERC1155s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "withdrawERC20";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }];
                                                                    name: "withdrawERC20s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "withdrawERC721";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collections";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "withdrawERC721s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "withdrawEth";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "spender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: true;
                                                                    }];
                                                                    name: "Approval";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "operator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "approved";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ApprovalForAll";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC1155Deposited";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC1155Withdrawn";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC20Deposited";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC20Withdrawn";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC721Deposited";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC721Withdrawn";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "user";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "newOwner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }];
                                                                    name: "OwnershipTransferred";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: true;
                                                                    }];
                                                                    name: "Transfer";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "AssetNotOwnedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "CollectionNotWhitelistedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "CurrencyNotWhitelistedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "InvalidCallerError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "LengthMismatchError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "NotApprovedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "VaultNotExistsError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "WithdrawingETHError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "WrongMethodError";
                                                                }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn" | "ERC1155Deposited" | "ERC1155Withdrawn")[]
                                                                    ? TFunctionName[number]
                                                                    : TFunctionName>
                                                              • +
                                                              • +
                                                                +

                                                                Type Parameters

                                                                +
                                                                  +
                                                                • +

                                                                  TFunctionName extends "OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn" | "ERC1155Deposited" | "ERC1155Withdrawn"

                                                                +
                                                                +

                                                                Parameters

                                                                +
                                                                  +
                                                                • +
                                                                  eventName: TFunctionName
                                                                • +
                                                                • +
                                                                  logs: Log<bigint, number, false>[]
                                                                +

                                                                Returns ParseEventLogsReturnType<readonly [{
                                                                    type: "constructor";
                                                                    inputs: readonly [{
                                                                        name: "currencyManager";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "collectionManager";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "ERC1155BalanceOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "ERC20BalanceOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "ERC721OwnerOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "ETH";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "spender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "approve";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "balanceOf";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_assetRecipient";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "burn";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collections";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "_tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_erc1155Tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_erc1155TokensIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "burnAndWithdraw";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositERC1155";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "_amounts";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "depositERC1155s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositERC20";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositERC721";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "depositERC721s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "depositEth";
                                                                    outputs: readonly [];
                                                                    stateMutability: "payable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "getApproved";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "isApprovedForAll";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "mint";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "name";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "string";
                                                                        type: "string";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "onERC1155BatchReceived";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "onERC1155Received";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "onERC721Received";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "owner";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "ownerOf";
                                                                    outputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "safeTransferFrom";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "data";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "safeTransferFrom";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "operator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "approved";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                    }];
                                                                    name: "setApprovalForAll";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "interfaceId";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                    name: "supportsInterface";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "symbol";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "string";
                                                                        type: "string";
                                                                    }];
                                                                    stateMutability: "view";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "tokenURI";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "string";
                                                                        type: "string";
                                                                    }];
                                                                    stateMutability: "pure";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "transferFrom";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "newOwner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "transferOwnership";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "withdrawERC1155";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "withdrawERC1155s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "withdrawERC20";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_tokens";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }];
                                                                    name: "withdrawERC20s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "withdrawERC721";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_collections";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }, {
                                                                        name: "_tokenIds";
                                                                        internalType: "uint256[]";
                                                                        type: "uint256[]";
                                                                    }];
                                                                    name: "withdrawERC721s";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "withdrawEth";
                                                                    outputs: readonly [];
                                                                    stateMutability: "nonpayable";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "spender";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: true;
                                                                    }];
                                                                    name: "Approval";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "operator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "approved";
                                                                        internalType: "bool";
                                                                        type: "bool";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ApprovalForAll";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC1155Deposited";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC1155Withdrawn";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC20Deposited";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "token";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "amount";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC20Withdrawn";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC721Deposited";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "collection";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "ERC721Withdrawn";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "user";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "newOwner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }];
                                                                    name: "OwnershipTransferred";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "from";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "to";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "id";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: true;
                                                                    }];
                                                                    name: "Transfer";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "AssetNotOwnedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "CollectionNotWhitelistedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "CurrencyNotWhitelistedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "InvalidCallerError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "LengthMismatchError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "vaultId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "NotApprovedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "VaultNotExistsError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "WithdrawingETHError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "WrongMethodError";
                                                                }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn" | "ERC1155Deposited" | "ERC1155Withdrawn")[]
                                                                    ? TFunctionName[number]
                                                                    : TFunctionName>

                                                            +
                                                            + +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/enums/Internal.LoanSortField.html b/docs/0.15.0b2/enums/Internal.LoanSortField.html new file mode 100644 index 00000000..92d0ad11 --- /dev/null +++ b/docs/0.15.0b2/enums/Internal.LoanSortField.html @@ -0,0 +1,242 @@ +LoanSortField | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Enumeration LoanSortField

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            + +
                                                            AprBps: "APR_BPS"
                                                            +
                                                            + +
                                                            Duration: "DURATION"
                                                            +
                                                            + +
                                                            EffectiveAprBps: "EFFECTIVE_APR_BPS"
                                                            +
                                                            + +
                                                            EndDate: "END_DATE"
                                                            +
                                                            + +
                                                            ExpectedInterest: "EXPECTED_INTEREST"
                                                            +
                                                            + +
                                                            ExpirationDate: "EXPIRATION_DATE"
                                                            +
                                                            + +
                                                            OriginationFee: "ORIGINATION_FEE"
                                                            +
                                                            + +
                                                            PaidInterest: "PAID_INTEREST"
                                                            +
                                                            + +
                                                            PrincipalAmount: "PRINCIPAL_AMOUNT"
                                                            +
                                                            + +
                                                            RenegotiationRequested: "RENEGOTIATION_REQUESTED"
                                                            +
                                                            + +
                                                            StartTime: "START_TIME"
                                                            +
                                                            + +
                                                            TotalInterest: "TOTAL_INTEREST"
                                                            +
                                                            + +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/enums/LoanStatusType.html b/docs/0.15.0b2/enums/LoanStatusType.html new file mode 100644 index 00000000..e3379dd4 --- /dev/null +++ b/docs/0.15.0b2/enums/LoanStatusType.html @@ -0,0 +1,105 @@ +LoanStatusType | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Enumeration LoanStatusType

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            + +
                                                            LoanAuctioned: "LOAN_AUCTIONED"
                                                            +
                                                            + +
                                                            LoanAuctionedWithBuyout: "LOAN_AUCTIONED_WITH_BUYOUT"
                                                            +
                                                            + +
                                                            LoanDefaulted: "LOAN_DEFAULTED"
                                                            +
                                                            + +
                                                            LoanForeclosed: "LOAN_FORECLOSED"
                                                            +
                                                            + +
                                                            LoanInitiated: "LOAN_INITIATED"
                                                            +
                                                            + +
                                                            LoanRepaid: "LOAN_REPAID"
                                                            +
                                                            + +
                                                            LoanSentToAuction: "LOAN_SENT_TO_AUCTION"
                                                            +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/enums/MarketplaceEnum.html b/docs/0.15.0b2/enums/MarketplaceEnum.html new file mode 100644 index 00000000..961dbeed --- /dev/null +++ b/docs/0.15.0b2/enums/MarketplaceEnum.html @@ -0,0 +1,70 @@ +MarketplaceEnum | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Enumeration MarketplaceEnum

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            + +
                                                            Gondi: "GONDI"
                                                            +
                                                            + +
                                                            Nftfi: "NFTFI"
                                                            +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/enums/OfferStatus.html b/docs/0.15.0b2/enums/OfferStatus.html new file mode 100644 index 00000000..2aad001d --- /dev/null +++ b/docs/0.15.0b2/enums/OfferStatus.html @@ -0,0 +1,98 @@ +OfferStatus | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Enumeration OfferStatus

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            + +
                                                            Active: "ACTIVE"
                                                            +
                                                            + +
                                                            Cancelled: "CANCELLED"
                                                            +
                                                            + +
                                                            Executed: "EXECUTED"
                                                            +
                                                            + +
                                                            Expired: "EXPIRED"
                                                            +
                                                            + +
                                                            Inactive: "INACTIVE"
                                                            +
                                                            + +
                                                            Outperformed: "OUTPERFORMED"
                                                            +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/enums/OffersSortField.html b/docs/0.15.0b2/enums/OffersSortField.html new file mode 100644 index 00000000..a9fb06c4 --- /dev/null +++ b/docs/0.15.0b2/enums/OffersSortField.html @@ -0,0 +1,154 @@ +OffersSortField | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Enumeration OffersSortField

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            + +
                                                            AprBps: "APR_BPS"
                                                            +
                                                            + +
                                                            CreatedDate: "CREATED_DATE"
                                                            +
                                                            + +
                                                            DailyInterest: "DAILY_INTEREST"
                                                            +
                                                            + +
                                                            Duration: "DURATION"
                                                            +
                                                            + +
                                                            EffectiveAprBps: "EFFECTIVE_APR_BPS"
                                                            +
                                                            + +
                                                            Expiration: "EXPIRATION"
                                                            +
                                                            + +
                                                            Fee: "FEE"
                                                            +
                                                            + +
                                                            MaxPrincipal: "MAX_PRINCIPAL"
                                                            +
                                                            + +
                                                            NetInterest: "NET_INTEREST"
                                                            +
                                                            + +
                                                            NetPrincipal: "NET_PRINCIPAL"
                                                            +
                                                            + +
                                                            PrincipalAmount: "PRINCIPAL_AMOUNT"
                                                            +
                                                            + +
                                                            Repayment: "REPAYMENT"
                                                            +
                                                            + +
                                                            Status: "STATUS"
                                                            +
                                                            + +
                                                            TotalInterest: "TOTAL_INTEREST"
                                                            +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/enums/Ordering.html b/docs/0.15.0b2/enums/Ordering.html new file mode 100644 index 00000000..ade7d76e --- /dev/null +++ b/docs/0.15.0b2/enums/Ordering.html @@ -0,0 +1,70 @@ +Ordering | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Enumeration Ordering

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            + +
                                                            Asc: "ASC"
                                                            +
                                                            + +
                                                            Desc: "DESC"
                                                            +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/enums/TokenStandardType.html b/docs/0.15.0b2/enums/TokenStandardType.html new file mode 100644 index 00000000..a8bc5e6f --- /dev/null +++ b/docs/0.15.0b2/enums/TokenStandardType.html @@ -0,0 +1,77 @@ +TokenStandardType | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Enumeration TokenStandardType

                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            +
                                                            +

                                                            Enumeration Members

                                                            +
                                                            + +
                                                            Erc721: "ERC721"
                                                            +
                                                            + +
                                                            Erc1155: "ERC1155"
                                                            +
                                                            + +
                                                            OldErc721: "OLD_ERC721"
                                                            +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/index.html b/docs/0.15.0b2/index.html new file mode 100644 index 00000000..f7b00be6 --- /dev/null +++ b/docs/0.15.0b2/index.html @@ -0,0 +1,86 @@ +Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            +

                                                            Gondi JS SDK - v0.15.0b2

                                                            +

                                                            Gondi.js

                                                            A JavaScript library for crypto-native lending: borrow, lend & refinance NFTs (non-fungible tokens).

                                                            +

                                                            Table of Contents

                                                            +

                                                            Installation

                                                            You can install it via npm:

                                                            +
                                                            npm install --save gondi
                                                            # or
                                                            yarn add gondi +
                                                            +

                                                            Getting Started

                                                            To get started, you need to provide a wallet only.

                                                            +
                                                            import { Gondi } from 'gondi';
                                                            import { createWalletClient, http } from 'viem';
                                                            import { privateKeyToAccount } from 'viem/accounts';
                                                            import { mainnet } from 'viem/chains';
                                                            const transport = http('https://eth-mainnet.g.alchemy.com/v2/...');

                                                            const wallet = createWalletClient({
                                                            account: privateKeyToAccount(privateKey),
                                                            transport,
                                                            chain: mainnet,
                                                            });
                                                            const gondi = new Gondi({ wallet }); +
                                                            +

                                                            Typescript types are included in the package.

                                                            +

                                                            Examples

                                                            Getting NFT/Collection ids

                                                            We use integer ids to identify collections and NFTs. We provide helper functions to get them:

                                                            +
                                                            const nftId = await gondi.nftId({ slug: 'collection-slug', tokenId: 0n });
                                                            const collectionId = await gondi.collectionId({ slug: 'collection-slug' });
                                                            const collectionId = (
                                                            await gondi.collectionId({
                                                            contractAddress: '0x0000000000000000000000000000000000000000',
                                                            })
                                                            )[0]; // It's an array because some collections use same contract (e.g. Artblocks) +
                                                            +

                                                            Making Offers

                                                            Single NFT Offer

                                                            const offers = await gondi.makeSingleNftOffer({
                                                            nftId=1,
                                                            principalAddress="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // Principal currency address. (e.g. WETH)
                                                            principalAmount=1_000_000_000_000_000_000n, // Principal amount. In units of currency (e.g. WETH is wei)(e.g. 1WETH)
                                                            capacity=1_000_000_000_000_000_000n, // How much money do you want to loan in total,
                                                            // valid for collection offers.
                                                            // If you want N loans for example, it should be N*principalAmount.
                                                            fee=0n, // Origination fee.
                                                            aprBps=100n, // Apr expressed in basis points. (e.g. 1% apr)
                                                            expirationTime=1700000000n, // Expiration time expressed in seconds since epoch. (e.g. 2023/11/14)
                                                            duration=31_536_000n, // Duration expressed in secconds. (e.g. 1 year)
                                                            requiresLiquidation, // Sets the collateral to be liquidated on default.
                                                            borrowerAddress, // Optional: allow only this borrower to accept the offer.
                                                            }); +
                                                            +

                                                            Collection Offer

                                                            const offer = await gondi.makeCollectionOffer({
                                                            collectionId,
                                                            ... // Same as Single NFT Offer

                                                            }); +
                                                            +

                                                            Listing Offers

                                                            import { OffersSortField, Ordering } from 'gondi';
                                                            const offer = await gondi.offers({
                                                            cusor, // Cursor returned by previous calls.
                                                            limit, // Number results.
                                                            sortBy: {
                                                            // Sort criteria.
                                                            field: OffersSortField.CreatedDate,
                                                            order: Ordering.Asc,
                                                            },
                                                            filterBy, // Filter criteria, result is conjunction of components.
                                                            }); +
                                                            +

                                                            Listing Listings

                                                            const listings = await gondi.listings({
                                                            cusor, // Cursor returned by previous calls.
                                                            limit, // Number results.
                                                            sortBy, // Sort criteria.
                                                            filterBy, // Filter criteria, result is conjunction of components.
                                                            }); +
                                                            +
                                                            +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/interfaces/Internal.EmitLoanArgs.html b/docs/0.15.0b2/interfaces/Internal.EmitLoanArgs.html new file mode 100644 index 00000000..505f8328 --- /dev/null +++ b/docs/0.15.0b2/interfaces/Internal.EmitLoanArgs.html @@ -0,0 +1,206 @@ +EmitLoanArgs | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Interface EmitLoanArgs

                                                            +
                                                            +

                                                            Hierarchy

                                                            +
                                                              +
                                                            • EmitLoanArgs
                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Properties

                                                            +
                                                            + +
                                                            offerExecution: {
                                                                offer: Omit<SingleNftOffer | CollectionOffer, "nftId">;
                                                                amount?: bigint;
                                                                lenderOfferSignature: `0x${string}`;
                                                            }[]
                                                            +
                                                            +

                                                            Type declaration

                                                            +
                                                            +
                                                            + +
                                                            tokenId: bigint
                                                            +
                                                            + +
                                                            duration: bigint
                                                            +
                                                            + +
                                                            principalReceiver?: `0x${string}`
                                                            +
                                                            + +
                                                            expirationTime?: bigint
                                                            +
                                                            + +
                                                            +
                                                            \ No newline at end of file diff --git a/docs/0.15.0b2/interfaces/Internal.GondiProps.html b/docs/0.15.0b2/interfaces/Internal.GondiProps.html new file mode 100644 index 00000000..b5860290 --- /dev/null +++ b/docs/0.15.0b2/interfaces/Internal.GondiProps.html @@ -0,0 +1,179 @@ +GondiProps | Gondi JS SDK - v0.15.0b2
                                                            +
                                                            + +
                                                            +
                                                            +
                                                            +
                                                            + +

                                                            Interface GondiProps

                                                            +
                                                            +

                                                            Hierarchy

                                                            +
                                                              +
                                                            • GondiProps
                                                            +
                                                            +
                                                            +
                                                            + +
                                                            +
                                                            +

                                                            Properties

                                                            +
                                                            +
                                                            +

                                                            Properties

                                                            +
                                                            + +
                                                            wallet: {}
                                                            +
                                                            +

                                                            Type declaration

                                                            +
                                                              +
                                                              + +
                                                              apiClient?: ApolloClient<NormalizedCacheObject>
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/interfaces/Types.ListLoansProps.html b/docs/0.15.0b2/interfaces/Types.ListLoansProps.html new file mode 100644 index 00000000..98105952 --- /dev/null +++ b/docs/0.15.0b2/interfaces/Types.ListLoansProps.html @@ -0,0 +1,147 @@ +ListLoansProps | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Interface ListLoansProps

                                                              +
                                                              +

                                                              Hierarchy

                                                              +
                                                                +
                                                              • ListLoansProps
                                                              +
                                                              +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              Properties

                                                              +
                                                              + +
                                                              limit?: number
                                                              +
                                                              + +
                                                              cursor?: null | string
                                                              +
                                                              + +
                                                              borrowers?: `0x${string}`[]
                                                              +
                                                              + +
                                                              collections?: number[]
                                                              +
                                                              + +
                                                              nfts?: number[]
                                                              +
                                                              + +
                                                              statuses?: LoanStatusType[]
                                                              +
                                                              + +
                                                              sortBy?: LoanSortInput
                                                              +
                                                              + +
                                                              terms?: TermsFilter
                                                              +
                                                              + +
                                                              orderByStatuses?: boolean
                                                              +
                                                              + +
                                                              loansCurrencyAddress?: `0x${string}`
                                                              +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/modules.html b/docs/0.15.0b2/modules.html new file mode 100644 index 00000000..6a9839ea --- /dev/null +++ b/docs/0.15.0b2/modules.html @@ -0,0 +1,66 @@ +Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              Gondi JS SDK - v0.15.0b2

                                                              +
                                                              +
                                                              +

                                                              Index

                                                              +
                                                              +

                                                              Classes

                                                              +
                                                              +
                                                              +

                                                              Namespaces

                                                              +
                                                              +
                                                              +

                                                              Modules

                                                              +
                                                              +
                                                              +

                                                              Enumerations

                                                              +
                                                              +
                                                              +

                                                              Variables

                                                              +
                                                              +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/modules/Internal.html b/docs/0.15.0b2/modules/Internal.html new file mode 100644 index 00000000..d0d40a97 --- /dev/null +++ b/docs/0.15.0b2/modules/Internal.html @@ -0,0 +1,257 @@ +Internal | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Module Internal

                                                              +
                                                              +
                                                              +

                                                              Index

                                                              +
                                                              +

                                                              Classes

                                                              +
                                                              +
                                                              +

                                                              Enumerations

                                                              +
                                                              +
                                                              +

                                                              Interfaces

                                                              +
                                                              +
                                                              +

                                                              Type Aliases

                                                              +
                                                              +
                                                              +

                                                              Variables

                                                              +
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/modules/Types.html b/docs/0.15.0b2/modules/Types.html new file mode 100644 index 00000000..d8a55ad6 --- /dev/null +++ b/docs/0.15.0b2/modules/Types.html @@ -0,0 +1,80 @@ +Types | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              + +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.Auction.html b/docs/0.15.0b2/types/Internal.Auction.html new file mode 100644 index 00000000..56169a4e --- /dev/null +++ b/docs/0.15.0b2/types/Internal.Auction.html @@ -0,0 +1,145 @@ +Auction | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias Auction

                                                              +
                                                              Auction: AuctionV5 | AuctionV6
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.AuctionV5.html b/docs/0.15.0b2/types/Internal.AuctionV5.html new file mode 100644 index 00000000..c3a59fcd --- /dev/null +++ b/docs/0.15.0b2/types/Internal.AuctionV5.html @@ -0,0 +1,145 @@ +AuctionV5 | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias AuctionV5

                                                              +
                                                              AuctionV5: PlaceBidAbiTypeV5[2]
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.AuctionV6.html b/docs/0.15.0b2/types/Internal.AuctionV6.html new file mode 100644 index 00000000..391610a2 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.AuctionV6.html @@ -0,0 +1,145 @@ +AuctionV6 | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias AuctionV6

                                                              +
                                                              AuctionV6: PlaceBidAbiTypeV6[2]
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.BurnAndWithdrawArgs.html b/docs/0.15.0b2/types/Internal.BurnAndWithdrawArgs.html new file mode 100644 index 00000000..c2fa5d69 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.BurnAndWithdrawArgs.html @@ -0,0 +1,160 @@ +BurnAndWithdrawArgs | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias BurnAndWithdrawArgs

                                                              +
                                                              BurnAndWithdrawArgs: {
                                                                  vaultId: bigint;
                                                                  collections: Address[];
                                                                  tokenIds: bigint[];
                                                                  tokens?: Address[];
                                                                  erc1155Collections?: Address[];
                                                                  erc1155TokenIds?: bigint[];
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                vaultId: bigint
                                                              • +
                                                              • +
                                                                collections: Address[]
                                                              • +
                                                              • +
                                                                tokenIds: bigint[]
                                                              • +
                                                              • +
                                                                Optional tokens?: Address[]
                                                              • +
                                                              • +
                                                                Optional erc1155Collections?: Address[]
                                                              • +
                                                              • +
                                                                Optional erc1155TokenIds?: bigint[]
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.CollectionByContractAddressQuery.html b/docs/0.15.0b2/types/Internal.CollectionByContractAddressQuery.html new file mode 100644 index 00000000..8a13a577 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.CollectionByContractAddressQuery.html @@ -0,0 +1,152 @@ +CollectionByContractAddressQuery | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias CollectionByContractAddressQuery

                                                              +
                                                              CollectionByContractAddressQuery: {
                                                                  __typename?: "Query";
                                                                  collection: {
                                                                      __typename?: "Collection";
                                                                      contractData: {
                                                                          __typename?: "ContractData";
                                                                          contractAddress: Address;
                                                                      };
                                                                      wrapperCollections: {
                                                                          __typename?: "Collection";
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: Address;
                                                                          };
                                                                      }[];
                                                                  }[];
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                Optional __typename?: "Query"
                                                              • +
                                                              • +
                                                                collection: {
                                                                    __typename?: "Collection";
                                                                    contractData: {
                                                                        __typename?: "ContractData";
                                                                        contractAddress: Address;
                                                                    };
                                                                    wrapperCollections: {
                                                                        __typename?: "Collection";
                                                                        contractData: {
                                                                            __typename?: "ContractData";
                                                                            contractAddress: Address;
                                                                        };
                                                                    }[];
                                                                }[]
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.CollectionIdBySlugQuery.html b/docs/0.15.0b2/types/Internal.CollectionIdBySlugQuery.html new file mode 100644 index 00000000..dfefd562 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.CollectionIdBySlugQuery.html @@ -0,0 +1,152 @@ +CollectionIdBySlugQuery | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias CollectionIdBySlugQuery

                                                              +
                                                              CollectionIdBySlugQuery: {
                                                                  __typename?: "Query";
                                                                  collection?: {
                                                                      __typename?: "Collection";
                                                                      id: string;
                                                                  } | null;
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                Optional __typename?: "Query"
                                                              • +
                                                              • +
                                                                Optional collection?: {
                                                                    __typename?: "Collection";
                                                                    id: string;
                                                                } | null
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.CollectionOfferInput.html b/docs/0.15.0b2/types/Internal.CollectionOfferInput.html new file mode 100644 index 00000000..523ad488 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.CollectionOfferInput.html @@ -0,0 +1,180 @@ +CollectionOfferInput | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias CollectionOfferInput

                                                              +
                                                              CollectionOfferInput: {
                                                                  aprBps: Scalars["BigInt"];
                                                                  borrowerAddress: Scalars["Address"];
                                                                  capacity: Scalars["BigInt"];
                                                                  collectionId: Scalars["Int"];
                                                                  contractAddress: Scalars["Address"];
                                                                  duration: Scalars["BigInt"];
                                                                  expirationTime: Scalars["BigInt"];
                                                                  fee: Scalars["BigInt"];
                                                                  lenderAddress: Scalars["Address"];
                                                                  maxSeniorRepayment?: InputMaybe<Scalars["BigInt"]>;
                                                                  maxTrancheFloor?: InputMaybe<Scalars["BigInt"]>;
                                                                  offerValidators: OfferValidatorInput[];
                                                                  principalAddress: Scalars["Address"];
                                                                  principalAmount: Scalars["BigInt"];
                                                                  requiresLiquidation?: InputMaybe<Scalars["Boolean"]>;
                                                                  signerAddress?: InputMaybe<Scalars["Address"]>;
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.CollectionSignedOfferInput.html b/docs/0.15.0b2/types/Internal.CollectionSignedOfferInput.html new file mode 100644 index 00000000..f8214eaa --- /dev/null +++ b/docs/0.15.0b2/types/Internal.CollectionSignedOfferInput.html @@ -0,0 +1,186 @@ +CollectionSignedOfferInput | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias CollectionSignedOfferInput

                                                              +
                                                              CollectionSignedOfferInput: {
                                                                  aprBps: Scalars["BigInt"];
                                                                  borrowerAddress: Scalars["Address"];
                                                                  capacity: Scalars["BigInt"];
                                                                  collectionId: Scalars["Int"];
                                                                  contractAddress: Scalars["Address"];
                                                                  duration: Scalars["BigInt"];
                                                                  expirationTime: Scalars["BigInt"];
                                                                  fee: Scalars["BigInt"];
                                                                  lenderAddress: Scalars["Address"];
                                                                  maxSeniorRepayment?: InputMaybe<Scalars["BigInt"]>;
                                                                  maxTrancheFloor?: InputMaybe<Scalars["BigInt"]>;
                                                                  offerHash: Scalars["Hash"];
                                                                  offerId: Scalars["BigInt"];
                                                                  offerValidators: OfferValidatorInput[];
                                                                  principalAddress: Scalars["Address"];
                                                                  principalAmount: Scalars["BigInt"];
                                                                  requiresLiquidation?: InputMaybe<Scalars["Boolean"]>;
                                                                  signature: Scalars["Signature"];
                                                                  signerAddress?: InputMaybe<Scalars["Address"]>;
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.CollectionsIdByContractAddressQuery.html b/docs/0.15.0b2/types/Internal.CollectionsIdByContractAddressQuery.html new file mode 100644 index 00000000..4a643035 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.CollectionsIdByContractAddressQuery.html @@ -0,0 +1,152 @@ +CollectionsIdByContractAddressQuery | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias CollectionsIdByContractAddressQuery

                                                              +
                                                              CollectionsIdByContractAddressQuery: {
                                                                  __typename?: "Query";
                                                                  collections: {
                                                                      __typename?: "Collection";
                                                                      id: string;
                                                                  }[];
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                Optional __typename?: "Query"
                                                              • +
                                                              • +
                                                                collections: {
                                                                    __typename?: "Collection";
                                                                    id: string;
                                                                }[]
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.CollectionsQuery.html b/docs/0.15.0b2/types/Internal.CollectionsQuery.html new file mode 100644 index 00000000..3717d656 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.CollectionsQuery.html @@ -0,0 +1,166 @@ +CollectionsQuery | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias CollectionsQuery

                                                              +
                                                              CollectionsQuery: {
                                                                  __typename?: "Query";
                                                                  collections: {
                                                                      __typename?: "CollectionConnection";
                                                                      pageInfo: {
                                                                          __typename?: "PageInfo";
                                                                          endCursor?: string | null;
                                                                          hasNextPage: boolean;
                                                                      };
                                                                      edges: {
                                                                          __typename?: "CollectionEdge";
                                                                          node: {
                                                                              __typename?: "Collection";
                                                                              id: string;
                                                                              name?: string | null;
                                                                              slug: string;
                                                                              description?: string | null;
                                                                              discordUrl?: string | null;
                                                                              twitterUsername?: string | null;
                                                                              externalUrl?: string | null;
                                                                              collectionUrl?: string | null;
                                                                              verified: boolean;
                                                                              wrapperCollections: {
                                                                                  __typename?: "Collection";
                                                                                  contractData: {
                                                                                      __typename?: "ContractData";
                                                                                      contractAddress: Address;
                                                                                  };
                                                                              }[];
                                                                              image?: {
                                                                                  __typename?: "Asset";
                                                                                  cacheUrl?: string | null;
                                                                              } | null;
                                                                              bannerImage?: {
                                                                                  __typename?: "Asset";
                                                                                  cacheUrl?: string | null;
                                                                              } | null;
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  blockchain: string;
                                                                                  contractAddress: Address;
                                                                                  createdDate: Date;
                                                                                  creatorAddress?: Address | null;
                                                                              };
                                                                              statistics: {
                                                                                  __typename?: "CollectionStatistics";
                                                                                  floorPrice7d?: number | null;
                                                                                  floorPrice30d?: number | null;
                                                                                  totalVolume?: number | null;
                                                                                  totalVolume1y?: number | null;
                                                                                  totalVolume3m?: number | null;
                                                                                  totalVolume1m?: number | null;
                                                                                  totalVolume1w?: number | null;
                                                                                  totalLoanVolume: bigint;
                                                                                  totalLoanVolume1w: bigint;
                                                                                  totalLoanVolume1m: bigint;
                                                                                  totalLoanVolume3m: bigint;
                                                                                  totalLoanVolume1y: bigint;
                                                                                  numberOfPricedNfts: number;
                                                                                  nftsCount?: number | null;
                                                                                  percentageInOutstandingLoans: number;
                                                                                  repaymentRate: number;
                                                                                  numberOfOffers: number;
                                                                                  floorPrice?: {
                                                                                      __typename?: "CurrencyAmount";
                                                                                      amount: number;
                                                                                      currency: {
                                                                                          __typename?: "Currency";
                                                                                          address: Address;
                                                                                          decimals: number;
                                                                                      };
                                                                                  } | null;
                                                                                  bestOffer?: {
                                                                                      __typename?: "CurrencyAmount";
                                                                                      amount: number;
                                                                                      currency: {
                                                                                          __typename?: "Currency";
                                                                                          address: Address;
                                                                                          decimals: number;
                                                                                      };
                                                                                  } | null;
                                                                              };
                                                                          };
                                                                      }[];
                                                                  };
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                Optional __typename?: "Query"
                                                              • +
                                                              • +
                                                                collections: {
                                                                    __typename?: "CollectionConnection";
                                                                    pageInfo: {
                                                                        __typename?: "PageInfo";
                                                                        endCursor?: string | null;
                                                                        hasNextPage: boolean;
                                                                    };
                                                                    edges: {
                                                                        __typename?: "CollectionEdge";
                                                                        node: {
                                                                            __typename?: "Collection";
                                                                            id: string;
                                                                            name?: string | null;
                                                                            slug: string;
                                                                            description?: string | null;
                                                                            discordUrl?: string | null;
                                                                            twitterUsername?: string | null;
                                                                            externalUrl?: string | null;
                                                                            collectionUrl?: string | null;
                                                                            verified: boolean;
                                                                            wrapperCollections: {
                                                                                __typename?: "Collection";
                                                                                contractData: {
                                                                                    __typename?: "ContractData";
                                                                                    contractAddress: Address;
                                                                                };
                                                                            }[];
                                                                            image?: {
                                                                                __typename?: "Asset";
                                                                                cacheUrl?: string | null;
                                                                            } | null;
                                                                            bannerImage?: {
                                                                                __typename?: "Asset";
                                                                                cacheUrl?: string | null;
                                                                            } | null;
                                                                            contractData: {
                                                                                __typename?: "ContractData";
                                                                                blockchain: string;
                                                                                contractAddress: Address;
                                                                                createdDate: Date;
                                                                                creatorAddress?: Address | null;
                                                                            };
                                                                            statistics: {
                                                                                __typename?: "CollectionStatistics";
                                                                                floorPrice7d?: number | null;
                                                                                floorPrice30d?: number | null;
                                                                                totalVolume?: number | null;
                                                                                totalVolume1y?: number | null;
                                                                                totalVolume3m?: number | null;
                                                                                totalVolume1m?: number | null;
                                                                                totalVolume1w?: number | null;
                                                                                totalLoanVolume: bigint;
                                                                                totalLoanVolume1w: bigint;
                                                                                totalLoanVolume1m: bigint;
                                                                                totalLoanVolume3m: bigint;
                                                                                totalLoanVolume1y: bigint;
                                                                                numberOfPricedNfts: number;
                                                                                nftsCount?: number | null;
                                                                                percentageInOutstandingLoans: number;
                                                                                repaymentRate: number;
                                                                                numberOfOffers: number;
                                                                                floorPrice?: {
                                                                                    __typename?: "CurrencyAmount";
                                                                                    amount: number;
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        address: Address;
                                                                                        decimals: number;
                                                                                    };
                                                                                } | null;
                                                                                bestOffer?: {
                                                                                    __typename?: "CurrencyAmount";
                                                                                    amount: number;
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        address: Address;
                                                                                        decimals: number;
                                                                                    };
                                                                                } | null;
                                                                            };
                                                                        };
                                                                    }[];
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional __typename?: "CollectionConnection"
                                                                • +
                                                                • +
                                                                  pageInfo: {
                                                                      __typename?: "PageInfo";
                                                                      endCursor?: string | null;
                                                                      hasNextPage: boolean;
                                                                  }
                                                                  +
                                                                    +
                                                                  • +
                                                                    Optional __typename?: "PageInfo"
                                                                  • +
                                                                  • +
                                                                    Optional endCursor?: string | null
                                                                  • +
                                                                  • +
                                                                    hasNextPage: boolean
                                                                • +
                                                                • +
                                                                  edges: {
                                                                      __typename?: "CollectionEdge";
                                                                      node: {
                                                                          __typename?: "Collection";
                                                                          id: string;
                                                                          name?: string | null;
                                                                          slug: string;
                                                                          description?: string | null;
                                                                          discordUrl?: string | null;
                                                                          twitterUsername?: string | null;
                                                                          externalUrl?: string | null;
                                                                          collectionUrl?: string | null;
                                                                          verified: boolean;
                                                                          wrapperCollections: {
                                                                              __typename?: "Collection";
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: Address;
                                                                              };
                                                                          }[];
                                                                          image?: {
                                                                              __typename?: "Asset";
                                                                              cacheUrl?: string | null;
                                                                          } | null;
                                                                          bannerImage?: {
                                                                              __typename?: "Asset";
                                                                              cacheUrl?: string | null;
                                                                          } | null;
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              blockchain: string;
                                                                              contractAddress: Address;
                                                                              createdDate: Date;
                                                                              creatorAddress?: Address | null;
                                                                          };
                                                                          statistics: {
                                                                              __typename?: "CollectionStatistics";
                                                                              floorPrice7d?: number | null;
                                                                              floorPrice30d?: number | null;
                                                                              totalVolume?: number | null;
                                                                              totalVolume1y?: number | null;
                                                                              totalVolume3m?: number | null;
                                                                              totalVolume1m?: number | null;
                                                                              totalVolume1w?: number | null;
                                                                              totalLoanVolume: bigint;
                                                                              totalLoanVolume1w: bigint;
                                                                              totalLoanVolume1m: bigint;
                                                                              totalLoanVolume3m: bigint;
                                                                              totalLoanVolume1y: bigint;
                                                                              numberOfPricedNfts: number;
                                                                              nftsCount?: number | null;
                                                                              percentageInOutstandingLoans: number;
                                                                              repaymentRate: number;
                                                                              numberOfOffers: number;
                                                                              floorPrice?: {
                                                                                  __typename?: "CurrencyAmount";
                                                                                  amount: number;
                                                                                  currency: {
                                                                                      __typename?: "Currency";
                                                                                      address: Address;
                                                                                      decimals: number;
                                                                                  };
                                                                              } | null;
                                                                              bestOffer?: {
                                                                                  __typename?: "CurrencyAmount";
                                                                                  amount: number;
                                                                                  currency: {
                                                                                      __typename?: "Currency";
                                                                                      address: Address;
                                                                                      decimals: number;
                                                                                  };
                                                                              } | null;
                                                                          };
                                                                      };
                                                                  }[]
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.CreateVaultArgs.html b/docs/0.15.0b2/types/Internal.CreateVaultArgs.html new file mode 100644 index 00000000..ba2e49de --- /dev/null +++ b/docs/0.15.0b2/types/Internal.CreateVaultArgs.html @@ -0,0 +1,156 @@ +CreateVaultArgs | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias CreateVaultArgs

                                                              +
                                                              CreateVaultArgs: {
                                                                  collection: Address;
                                                                  tokenIds: bigint[];
                                                                  amounts: bigint[];
                                                                  standard: NftStandard;
                                                              }[]
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                collection: Address
                                                              • +
                                                              • +
                                                                tokenIds: bigint[]
                                                              • +
                                                              • +
                                                                amounts: bigint[]
                                                              • +
                                                              • +
                                                                standard: NftStandard
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.DepositERC1155sArgs.html b/docs/0.15.0b2/types/Internal.DepositERC1155sArgs.html new file mode 100644 index 00000000..c9052187 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.DepositERC1155sArgs.html @@ -0,0 +1,156 @@ +DepositERC1155sArgs | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias DepositERC1155sArgs

                                                              +
                                                              DepositERC1155sArgs: {
                                                                  vaultId: bigint;
                                                                  collection: Address;
                                                                  tokenIds: bigint[];
                                                                  amounts: bigint[];
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                vaultId: bigint
                                                              • +
                                                              • +
                                                                collection: Address
                                                              • +
                                                              • +
                                                                tokenIds: bigint[]
                                                              • +
                                                              • +
                                                                amounts: bigint[]
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.DepositERC721sArgs.html b/docs/0.15.0b2/types/Internal.DepositERC721sArgs.html new file mode 100644 index 00000000..db2d7387 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.DepositERC721sArgs.html @@ -0,0 +1,145 @@ +DepositERC721sArgs | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias DepositERC721sArgs

                                                              +
                                                              DepositERC721sArgs: Omit<DepositERC1155sArgs, "amounts">
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.Erc721Or1155ABI.html b/docs/0.15.0b2/types/Internal.Erc721Or1155ABI.html new file mode 100644 index 00000000..6b353d6e --- /dev/null +++ b/docs/0.15.0b2/types/Internal.Erc721Or1155ABI.html @@ -0,0 +1,145 @@ +Erc721Or1155ABI | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias Erc721Or1155ABI

                                                              +
                                                              Erc721Or1155ABI: typeof erc721ABI | typeof erc1155Abi
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.Exact.html b/docs/0.15.0b2/types/Internal.Exact.html new file mode 100644 index 00000000..a14692f0 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.Exact.html @@ -0,0 +1,150 @@ +Exact | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias Exact<T>

                                                              +
                                                              Exact<T>: {
                                                                  [K in keyof T]: T[K]
                                                              }
                                                              +
                                                              +

                                                              Type Parameters

                                                              +
                                                                +
                                                              • +

                                                                T extends {
                                                                    [key: string]: unknown;
                                                                }

                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.GenerateCollectionOfferHashMutation.html b/docs/0.15.0b2/types/Internal.GenerateCollectionOfferHashMutation.html new file mode 100644 index 00000000..dd039f31 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.GenerateCollectionOfferHashMutation.html @@ -0,0 +1,179 @@ +GenerateCollectionOfferHashMutation | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias GenerateCollectionOfferHashMutation

                                                              +
                                                              GenerateCollectionOfferHashMutation: {
                                                                  __typename?: "Mutation";
                                                                  offer: {
                                                                      __typename?: "CollectionOffer";
                                                                      offerHash?: Hash | null;
                                                                      offerId: bigint;
                                                                      lenderAddress?: Address | null;
                                                                      signerAddress?: Address | null;
                                                                      borrowerAddress?: Address | null;
                                                                      validators: {
                                                                          __typename?: "OfferValidator";
                                                                          validator: Address;
                                                                          arguments: Hex;
                                                                      }[];
                                                                      collection: {
                                                                          __typename?: "Collection";
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: Address;
                                                                          };
                                                                      };
                                                                  };
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                Optional __typename?: "Mutation"
                                                              • +
                                                              • +
                                                                offer: {
                                                                    __typename?: "CollectionOffer";
                                                                    offerHash?: Hash | null;
                                                                    offerId: bigint;
                                                                    lenderAddress?: Address | null;
                                                                    signerAddress?: Address | null;
                                                                    borrowerAddress?: Address | null;
                                                                    validators: {
                                                                        __typename?: "OfferValidator";
                                                                        validator: Address;
                                                                        arguments: Hex;
                                                                    }[];
                                                                    collection: {
                                                                        __typename?: "Collection";
                                                                        contractData: {
                                                                            __typename?: "ContractData";
                                                                            contractAddress: Address;
                                                                        };
                                                                    };
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional __typename?: "CollectionOffer"
                                                                • +
                                                                • +
                                                                  Optional offerHash?: Hash | null
                                                                • +
                                                                • +
                                                                  offerId: bigint
                                                                • +
                                                                • +
                                                                  Optional lenderAddress?: Address | null
                                                                • +
                                                                • +
                                                                  Optional signerAddress?: Address | null
                                                                • +
                                                                • +
                                                                  Optional borrowerAddress?: Address | null
                                                                • +
                                                                • +
                                                                  validators: {
                                                                      __typename?: "OfferValidator";
                                                                      validator: Address;
                                                                      arguments: Hex;
                                                                  }[]
                                                                • +
                                                                • +
                                                                  collection: {
                                                                      __typename?: "Collection";
                                                                      contractData: {
                                                                          __typename?: "ContractData";
                                                                          contractAddress: Address;
                                                                      };
                                                                  }
                                                                  +
                                                                    +
                                                                  • +
                                                                    Optional __typename?: "Collection"
                                                                  • +
                                                                  • +
                                                                    contractData: {
                                                                        __typename?: "ContractData";
                                                                        contractAddress: Address;
                                                                    }
                                                                    +
                                                                      +
                                                                    • +
                                                                      Optional __typename?: "ContractData"
                                                                    • +
                                                                    • +
                                                                      contractAddress: Address
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.GenerateRenegotiationOfferHashMutation.html b/docs/0.15.0b2/types/Internal.GenerateRenegotiationOfferHashMutation.html new file mode 100644 index 00000000..cbd96c4d --- /dev/null +++ b/docs/0.15.0b2/types/Internal.GenerateRenegotiationOfferHashMutation.html @@ -0,0 +1,174 @@ +GenerateRenegotiationOfferHashMutation | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias GenerateRenegotiationOfferHashMutation

                                                              +
                                                              GenerateRenegotiationOfferHashMutation: {
                                                                  __typename?: "Mutation";
                                                                  offer: {
                                                                      __typename?: "Renegotiation";
                                                                      loanId: bigint;
                                                                      renegotiationId: bigint;
                                                                      offerHash?: Hash | null;
                                                                      lenderAddress?: Address | null;
                                                                      signerAddress?: Address | null;
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          tokenId: bigint;
                                                                          collection?: {
                                                                              __typename?: "Collection";
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: Address;
                                                                              };
                                                                          } | null;
                                                                      };
                                                                  };
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                Optional __typename?: "Mutation"
                                                              • +
                                                              • +
                                                                offer: {
                                                                    __typename?: "Renegotiation";
                                                                    loanId: bigint;
                                                                    renegotiationId: bigint;
                                                                    offerHash?: Hash | null;
                                                                    lenderAddress?: Address | null;
                                                                    signerAddress?: Address | null;
                                                                    nft: {
                                                                        __typename?: "NFT";
                                                                        tokenId: bigint;
                                                                        collection?: {
                                                                            __typename?: "Collection";
                                                                            contractData: {
                                                                                __typename?: "ContractData";
                                                                                contractAddress: Address;
                                                                            };
                                                                        } | null;
                                                                    };
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional __typename?: "Renegotiation"
                                                                • +
                                                                • +
                                                                  loanId: bigint
                                                                • +
                                                                • +
                                                                  renegotiationId: bigint
                                                                • +
                                                                • +
                                                                  Optional offerHash?: Hash | null
                                                                • +
                                                                • +
                                                                  Optional lenderAddress?: Address | null
                                                                • +
                                                                • +
                                                                  Optional signerAddress?: Address | null
                                                                • +
                                                                • +
                                                                  nft: {
                                                                      __typename?: "NFT";
                                                                      tokenId: bigint;
                                                                      collection?: {
                                                                          __typename?: "Collection";
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: Address;
                                                                          };
                                                                      } | null;
                                                                  }
                                                                  +
                                                                    +
                                                                  • +
                                                                    Optional __typename?: "NFT"
                                                                  • +
                                                                  • +
                                                                    tokenId: bigint
                                                                  • +
                                                                  • +
                                                                    Optional collection?: {
                                                                        __typename?: "Collection";
                                                                        contractData: {
                                                                            __typename?: "ContractData";
                                                                            contractAddress: Address;
                                                                        };
                                                                    } | null
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.GenerateSingleNftOfferHashMutation.html b/docs/0.15.0b2/types/Internal.GenerateSingleNftOfferHashMutation.html new file mode 100644 index 00000000..dfa1b4b6 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.GenerateSingleNftOfferHashMutation.html @@ -0,0 +1,176 @@ +GenerateSingleNftOfferHashMutation | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias GenerateSingleNftOfferHashMutation

                                                              +
                                                              GenerateSingleNftOfferHashMutation: {
                                                                  __typename?: "Mutation";
                                                                  offer: {
                                                                      __typename?: "SingleNFTOffer";
                                                                      offerHash?: Hash | null;
                                                                      offerId: bigint;
                                                                      lenderAddress?: Address | null;
                                                                      signerAddress?: Address | null;
                                                                      borrowerAddress?: Address | null;
                                                                      validators: {
                                                                          __typename?: "OfferValidator";
                                                                          validator: Address;
                                                                          arguments: Hex;
                                                                      }[];
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          tokenId: bigint;
                                                                          collection?: {
                                                                              __typename?: "Collection";
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: Address;
                                                                              };
                                                                          } | null;
                                                                      };
                                                                  };
                                                              }
                                                              +
                                                              +

                                                              Type declaration

                                                              +
                                                                +
                                                              • +
                                                                Optional __typename?: "Mutation"
                                                              • +
                                                              • +
                                                                offer: {
                                                                    __typename?: "SingleNFTOffer";
                                                                    offerHash?: Hash | null;
                                                                    offerId: bigint;
                                                                    lenderAddress?: Address | null;
                                                                    signerAddress?: Address | null;
                                                                    borrowerAddress?: Address | null;
                                                                    validators: {
                                                                        __typename?: "OfferValidator";
                                                                        validator: Address;
                                                                        arguments: Hex;
                                                                    }[];
                                                                    nft: {
                                                                        __typename?: "NFT";
                                                                        tokenId: bigint;
                                                                        collection?: {
                                                                            __typename?: "Collection";
                                                                            contractData: {
                                                                                __typename?: "ContractData";
                                                                                contractAddress: Address;
                                                                            };
                                                                        } | null;
                                                                    };
                                                                }
                                                                +
                                                                  +
                                                                • +
                                                                  Optional __typename?: "SingleNFTOffer"
                                                                • +
                                                                • +
                                                                  Optional offerHash?: Hash | null
                                                                • +
                                                                • +
                                                                  offerId: bigint
                                                                • +
                                                                • +
                                                                  Optional lenderAddress?: Address | null
                                                                • +
                                                                • +
                                                                  Optional signerAddress?: Address | null
                                                                • +
                                                                • +
                                                                  Optional borrowerAddress?: Address | null
                                                                • +
                                                                • +
                                                                  validators: {
                                                                      __typename?: "OfferValidator";
                                                                      validator: Address;
                                                                      arguments: Hex;
                                                                  }[]
                                                                • +
                                                                • +
                                                                  nft: {
                                                                      __typename?: "NFT";
                                                                      tokenId: bigint;
                                                                      collection?: {
                                                                          __typename?: "Collection";
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: Address;
                                                                          };
                                                                      } | null;
                                                                  }
                                                                  +
                                                                    +
                                                                  • +
                                                                    Optional __typename?: "NFT"
                                                                  • +
                                                                  • +
                                                                    tokenId: bigint
                                                                  • +
                                                                  • +
                                                                    Optional collection?: {
                                                                        __typename?: "Collection";
                                                                        contractData: {
                                                                            __typename?: "ContractData";
                                                                            contractAddress: Address;
                                                                        };
                                                                    } | null
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/0.15.0b2/types/Internal.HexString.html b/docs/0.15.0b2/types/Internal.HexString.html new file mode 100644 index 00000000..a14a03c5 --- /dev/null +++ b/docs/0.15.0b2/types/Internal.HexString.html @@ -0,0 +1,145 @@ +HexString | Gondi JS SDK - v0.15.0b2
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              + +

                                                              Type alias HexString

                                                              +
                                                              HexString: `0x${string}`
                                                              +
                                                              + +
                                                              +
                                                              \ No newline at end of file diff --git a/docs/lts/types/Internal.GenerateNftOrderToBeSignedMutation.html b/docs/0.15.0b2/types/Internal.HideOfferMutation.html similarity index 82% rename from docs/lts/types/Internal.GenerateNftOrderToBeSignedMutation.html rename to docs/0.15.0b2/types/Internal.HideOfferMutation.html index 919190ab..42482f0d 100644 --- a/docs/lts/types/Internal.GenerateNftOrderToBeSignedMutation.html +++ b/docs/0.15.0b2/types/Internal.HideOfferMutation.html @@ -1,4 +1,4 @@ -GenerateNftOrderToBeSignedMutation | Gondi JS SDK - v0.15.0b1
                                                              +HideOfferMutation | Gondi JS SDK - v0.15.0b2
                                                              • Preparing search index...
                                                              • -
                                                              • The search index is not available
                                                              Gondi JS SDK - v0.15.0b1
                                                              +
                                                            • The search index is not available
                                                            • Gondi JS SDK - v0.15.0b2
                                                              @@ -14,29 +14,18 @@ -

                                                              Type alias GenerateNftOrderToBeSignedMutation

                                                              -
                                                              GenerateNftOrderToBeSignedMutation: {
                                                                  __typename?: "Mutation";
                                                                  typedData: {
                                                                      __typename?: "TypedData";
                                                                      types: object;
                                                                      primaryType: string;
                                                                      domain: object;
                                                                      message: object;
                                                                  };
                                                              }
                                                              +
                                                            • HideOfferMutation
                                                            • +

                                                              Type alias HideOfferMutation

                                                              +
                                                              HideOfferMutation: {
                                                                  __typename?: "Mutation";
                                                                  hideOffer: {
                                                                      __typename?: "CollectionOffer";
                                                                      id: string;
                                                                  } | {
                                                                      __typename?: "SingleNFTOffer";
                                                                      id: string;
                                                                  };
                                                              }

                                                              Type declaration

                                                              • Optional __typename?: "Mutation"
                                                              • -
                                                                typedData: {
                                                                    __typename?: "TypedData";
                                                                    types: object;
                                                                    primaryType: string;
                                                                    domain: object;
                                                                    message: object;
                                                                }
                                                                -
                                                                  -
                                                                • -
                                                                  Optional __typename?: "TypedData"
                                                                • -
                                                                • -
                                                                  types: object
                                                                • -
                                                                • -
                                                                  primaryType: string
                                                                • -
                                                                • -
                                                                  domain: object
                                                                • -
                                                                • -
                                                                  message: object
                                                              @@ -14,9 +14,9 @@ -

                                                              Type alias NftSignedOrderInput

                                                              -
                                                              NftSignedOrderInput: {
                                                                  amount: Scalars["BigInt"];
                                                                  contractAddress: Scalars["Address"];
                                                                  currencyAddress: Scalars["Address"];
                                                                  expirationTime: Scalars["BigInt"];
                                                                  isAsk: Scalars["Boolean"];
                                                                  signature: Scalars["Signature"];
                                                                  startTime: Scalars["BigInt"];
                                                                  taker?: InputMaybe<Scalars["Address"]>;
                                                                  tokenId: Scalars["BigInt"];
                                                              }
                                                              +
                                                            • NftOrderInput
                                                            • +

                                                              Type alias NftOrderInput

                                                              +
                                                              NftOrderInput: {
                                                                  amount: Scalars["BigInt"];
                                                                  contractAddress: Scalars["Address"];
                                                                  currencyAddress: Scalars["Address"];
                                                                  expirationTime: Scalars["BigInt"];
                                                                  isAsk: Scalars["Boolean"];
                                                                  repaymentSignature?: InputMaybe<Scalars["Signature"]>;
                                                                  signature?: InputMaybe<Scalars["Signature"]>;
                                                                  startTime: Scalars["BigInt"];
                                                                  taker?: InputMaybe<Scalars["Address"]>;
                                                                  tokenId: Scalars["BigInt"];
                                                              }

                                                              Type declaration

                                                              +
                                                            • Defined in src/generated/graphql/index.ts:1143
                                                            • @@ -14,25 +14,25 @@ -

                                                              Type alias SaveSignedNftOrderMutation

                                                              -
                                                              SaveSignedNftOrderMutation: {
                                                                  __typename?: "Mutation";
                                                                  order: {
                                                                      __typename?: "SingleNFTOrder";
                                                                      id: string;
                                                                      status: string;
                                                                  };
                                                              }
                                                              +
                                                            • SaveRenegotiationOfferMutation
                                                            • +

                                                              Type alias SaveRenegotiationOfferMutation

                                                              +
                                                              SaveRenegotiationOfferMutation: {
                                                                  __typename?: "Mutation";
                                                                  offer: {
                                                                      __typename?: "Renegotiation";
                                                                      id: string;
                                                                      status: string;
                                                                  };
                                                              }

                                                              Type declaration

                                                              • Optional __typename?: "Mutation"
                                                              • -
                                                                order: {
                                                                    __typename?: "SingleNFTOrder";
                                                                    id: string;
                                                                    status: string;
                                                                }
                                                                +
                                                                offer: {
                                                                    __typename?: "Renegotiation";
                                                                    id: string;
                                                                    status: string;
                                                                }
                                                                • -
                                                                  Optional __typename?: "SingleNFTOrder"
                                                                • +
                                                                  Optional __typename?: "Renegotiation"
                                                                • id: string
                                                                • status: string
                                                              +
                                                            • Defined in src/generated/graphql/index.ts:2543
                                                            • @@ -20,7 +20,7 @@

                                                              Hierarchy

                                                              • Gondi
                                                              +
                                                            • Defined in src/gondi.ts:35
                                                            • @@ -87,6 +87,7 @@

                                                              Methods

                                                              burnUserVaultAndWithdraw wrapOldERC721 unwrapOldERC721 +sellAndRepay

                                                              Properties

                                                              @@ -111,7 +112,7 @@

                                                              Parameters

                                                              __namedParameters: GondiProps

                                                              Returns Gondi

                                                              +
                                                            • Defined in src/gondi.ts:43
                                                            • Methods

                                                              @@ -126,7 +127,7 @@

                                                              Parameters

                                                              offer: Types.SingleNftOfferInput

                                                              Returns Promise<{
                                                                  aprBps: bigint;
                                                                  borrowerAddress: `0x${string}`;
                                                                  capacity: bigint;
                                                                  contractAddress: `0x${string}`;
                                                                  duration: bigint;
                                                                  expirationTime: bigint;
                                                                  fee: bigint;
                                                                  lenderAddress: `0x${string}`;
                                                                  maxSeniorRepayment?: InputMaybe<bigint>;
                                                                  maxTrancheFloor?: InputMaybe<bigint>;
                                                                  nftId: number;
                                                                  offerHash: `0x${string}`;
                                                                  offerId: bigint;
                                                                  offerValidators: OfferValidatorInput[];
                                                                  principalAddress: `0x${string}`;
                                                                  principalAmount: bigint;
                                                                  requiresLiquidation?: InputMaybe<boolean>;
                                                                  signature: `0x${string}`;
                                                                  signerAddress?: InputMaybe<`0x${string}`>;
                                                                  id: string;
                                                                  nftCollateralAddress: `0x${string}`;
                                                                  nftCollateralTokenId: bigint;
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:58
                                                            • Returns Promise<{
                                                                  aprBps: bigint;
                                                                  borrowerAddress: `0x${string}`;
                                                                  capacity: bigint;
                                                                  collectionId: number;
                                                                  contractAddress: `0x${string}`;
                                                                  duration: bigint;
                                                                  expirationTime: bigint;
                                                                  fee: bigint;
                                                                  lenderAddress: `0x${string}`;
                                                                  maxSeniorRepayment?: InputMaybe<bigint>;
                                                                  maxTrancheFloor?: InputMaybe<bigint>;
                                                                  offerHash: `0x${string}`;
                                                                  offerId: bigint;
                                                                  offerValidators: OfferValidatorInput[];
                                                                  principalAddress: `0x${string}`;
                                                                  principalAmount: bigint;
                                                                  requiresLiquidation?: InputMaybe<boolean>;
                                                                  signature: `0x${string}`;
                                                                  signerAddress?: InputMaybe<`0x${string}`>;
                                                                  id: string;
                                                                  nftCollateralAddress: `0x${string}`;
                                                                  nftCollateralTokenId: bigint;
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:112
                                                              • - +
                                                              • Parameters

                                                                @@ -165,9 +166,9 @@
                                                                currencyAddressOptional isAsk?: boolean
                                                              • Optional taker?: `0x${string}`
                                                              -

                                                              Returns Promise<{
                                                                  signedOrderInput: NftSignedOrderInput;
                                                                  __typename?: "SingleNFTOrder";
                                                                  id: string;
                                                                  status: string;
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:169
                                                              • @@ -185,7 +186,7 @@
                                                                id
                                                                contractAddress: `0x${string}`

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      lender: `0x${string}`;
                                                                      offerId: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:212
                                                              • @@ -203,7 +204,7 @@
                                                                minIdcontractAddress: `0x${string}`

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      lender: `0x${string}`;
                                                                      minOfferId: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:218
                                                              • @@ -221,7 +222,7 @@
                                                                id
                                                                contractAddress: `0x${string}`

                                                              Returns Promise<HideOfferMutation>

                                                              +
                                                            • Defined in src/gondi.ts:224
                                                              • @@ -239,7 +240,7 @@
                                                                id
                                                                contractAddress: `0x${string}`

                                                              Returns Promise<UnhideOfferMutation>

                                                              +
                                                            • Defined in src/gondi.ts:228
                                                              • @@ -259,7 +260,7 @@
                                                                contractAddressOptional skipSignature?: boolean

                                                              Returns Promise<{
                                                                  loanId: string;
                                                                  duration: bigint;
                                                                  principalAmount: bigint;
                                                                  renegotiationId: bigint;
                                                                  requiresLiquidation?: InputMaybe<boolean>;
                                                                  aprBps: bigint;
                                                                  expirationTime: bigint;
                                                                  targetPrincipal?: InputMaybe<bigint[]>;
                                                                  strictImprovement?: InputMaybe<boolean>;
                                                                  trancheIndex?: InputMaybe<bigint[]>;
                                                                  lenderAddress: `0x${string}`;
                                                                  signerAddress?: InputMaybe<`0x${string}`>;
                                                                  offerHash: `0x${string}`;
                                                                  feeAmount: bigint;
                                                                  isAddNewTranche?: InputMaybe<boolean>;
                                                                  signature: `0x${string}`;
                                                                  id: string;
                                                              } | {
                                                                  offerHash: `0x${string}`;
                                                                  signature: `0x${string}`;
                                                                  renegotiationId: bigint;
                                                                  targetPrincipal: bigint[];
                                                                  trancheIndex: bigint[];
                                                                  lenderAddress: `0x${string}`;
                                                                  signerAddress: InputMaybe<`0x${string}`>;
                                                                  loanId: string;
                                                                  duration: bigint;
                                                                  principalAmount: bigint;
                                                                  requiresLiquidation?: InputMaybe<boolean>;
                                                                  aprBps: bigint;
                                                                  expirationTime: bigint;
                                                                  strictImprovement?: InputMaybe<boolean>;
                                                                  feeAmount: bigint;
                                                                  isAddNewTranche?: InputMaybe<boolean>;
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:235
                                                              • @@ -277,7 +278,7 @@
                                                                id
                                                                contractAddress: `0x${string}`

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      lender: `0x${string}`;
                                                                      renegotiationId: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:288
                                                              • @@ -295,7 +296,7 @@
                                                                id
                                                                contractAddress: `0x${string}`

                                                              Returns Promise<HideRenegotiationOfferMutation>

                                                              +
                                                            • Defined in src/gondi.ts:294
                                                              • @@ -313,7 +314,7 @@
                                                                id
                                                                contractAddress: `0x${string}`

                                                              Returns Promise<UnhideRenegotiationOfferMutation>

                                                              +
                                                            • Defined in src/gondi.ts:301
                                                              • @@ -329,7 +330,7 @@
                                                                __namedParameters: id: number

                                                              Returns Promise<HideOrderMutation>

                                                              +
                                                            • Defined in src/gondi.ts:314
                                                              • @@ -345,7 +346,7 @@
                                                                __namedParameters: id: number

                                                              Returns Promise<UnhideOrderMutation>

                                                              +
                                                            • Defined in src/gondi.ts:318
                                                              • @@ -363,7 +364,7 @@
                                                                minIdcontractAddress: `0x${string}`

                                                              Returns Promise<void | {
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      lender: `0x${string}`;
                                                                      minRenegotiationId: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:322
                                                            • Returns {
                                                                  offer: Omit<
                                                              SingleNftOffer | CollectionOffer, "nftId">;
                                                                  amount?: bigint;
                                                                  lenderOfferSignature: `0x${string}`;
                                                              }[]

                                                              +
                                                            • Defined in src/gondi.ts:334
                                                            • Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          source: readonly {
                                                                              loanId: bigint;
                                                                              lender: `0x${string}`;
                                                                              principalAmount: bigint;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      offerId: string;
                                                                  }>);
                                                              } | {
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          tranche: readonly {
                                                                              loanId: bigint;
                                                                              floor: bigint;
                                                                              principalAmount: bigint;
                                                                              lender: `0x${string}`;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          protocolFee: bigint;
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      offerIds: string[];
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:359
                                                            • Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          tranche: readonly {
                                                                              loanId: bigint;
                                                                              floor: bigint;
                                                                              principalAmount: bigint;
                                                                              lender: `0x${string}`;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          protocolFee: bigint;
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      offerIds: string[];
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:364
                                                              • @@ -431,7 +432,7 @@
                                                                loanIdOptional nftReceiver?: `0x${string}`

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loanId: bigint;
                                                                      totalRepayment: bigint;
                                                                      fee: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:380
                                                            • Returns Promise<{
                                                                  offers: ({
                                                                      type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                      lender: undefined | null | `0x${string}`;
                                                                      borrower: undefined | null | `0x${string}`;
                                                                      signer: undefined | null | `0x${string}`;
                                                                      offerValidators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[] | {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                      nftCollateralAddress: `0x${string}`;
                                                                      nftCollateralTokenId: bigint;
                                                                      id: string;
                                                                      offerId: bigint;
                                                                      lenderAddress?: null | `0x${string}`;
                                                                      borrowerAddress?: null | `0x${string}`;
                                                                      signerAddress?: null | `0x${string}`;
                                                                      contractAddress: `0x${string}`;
                                                                      requiresLiquidation?: null | boolean;
                                                                      principalAddress: `0x${string}`;
                                                                      principalAmount: bigint;
                                                                      aprBps: bigint;
                                                                      fee: bigint;
                                                                      capacity: bigint;
                                                                      expirationTime: bigint;
                                                                      duration: bigint;
                                                                      status: string;
                                                                      offerHash?: null | `0x${string}`;
                                                                      signature?: null | `0x${string}`;
                                                                      createdDate?: null | Date;
                                                                      repayment: bigint;
                                                                      hidden?: null | boolean;
                                                                      maxSeniorRepayment: bigint;
                                                                      collection: {
                                                                          __typename?: "Collection";
                                                                          id: string;
                                                                          slug: string;
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: `0x${string}`;
                                                                          };
                                                                      };
                                                                      currency: {
                                                                          __typename?: "Currency";
                                                                          symbol: string;
                                                                          decimals: number;
                                                                          address: `0x${string}`;
                                                                      };
                                                                      validators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                  } | {
                                                                      type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                      lender: undefined | null | `0x${string}`;
                                                                      borrower: undefined | null | `0x${string}`;
                                                                      signer: undefined | null | `0x${string}`;
                                                                      offerValidators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[] | {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                      nftCollateralAddress: `0x${string}`;
                                                                      nftCollateralTokenId: bigint;
                                                                      id: string;
                                                                      offerId: bigint;
                                                                      lenderAddress?: null | `0x${string}`;
                                                                      borrowerAddress?: null | `0x${string}`;
                                                                      signerAddress?: null | `0x${string}`;
                                                                      contractAddress: `0x${string}`;
                                                                      requiresLiquidation?: null | boolean;
                                                                      principalAddress: `0x${string}`;
                                                                      principalAmount: bigint;
                                                                      aprBps: bigint;
                                                                      fee: bigint;
                                                                      capacity: bigint;
                                                                      expirationTime: bigint;
                                                                      duration: bigint;
                                                                      status: string;
                                                                      offerHash?: null | `0x${string}`;
                                                                      signature?: null | `0x${string}`;
                                                                      createdDate?: null | Date;
                                                                      repayment: bigint;
                                                                      hidden?: null | boolean;
                                                                      maxSeniorRepayment: bigint;
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          id: string;
                                                                          tokenId: bigint;
                                                                          collection?: null | {
                                                                              __typename?: "Collection";
                                                                              id: string;
                                                                              slug: string;
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: `0x${string}`;
                                                                              };
                                                                          };
                                                                      };
                                                                      currency: {
                                                                          __typename?: "Currency";
                                                                          symbol: string;
                                                                          decimals: number;
                                                                          address: `0x${string}`;
                                                                      };
                                                                      validators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                  })[];
                                                                  hasNextPage: true;
                                                                  cursor: string;
                                                              } | {
                                                                  offers: ({
                                                                      type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                      lender: undefined | null | `0x${string}`;
                                                                      borrower: undefined | null | `0x${string}`;
                                                                      signer: undefined | null | `0x${string}`;
                                                                      offerValidators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[] | {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                      nftCollateralAddress: `0x${string}`;
                                                                      nftCollateralTokenId: bigint;
                                                                      id: string;
                                                                      offerId: bigint;
                                                                      lenderAddress?: null | `0x${string}`;
                                                                      borrowerAddress?: null | `0x${string}`;
                                                                      signerAddress?: null | `0x${string}`;
                                                                      contractAddress: `0x${string}`;
                                                                      requiresLiquidation?: null | boolean;
                                                                      principalAddress: `0x${string}`;
                                                                      principalAmount: bigint;
                                                                      aprBps: bigint;
                                                                      fee: bigint;
                                                                      capacity: bigint;
                                                                      expirationTime: bigint;
                                                                      duration: bigint;
                                                                      status: string;
                                                                      offerHash?: null | `0x${string}`;
                                                                      signature?: null | `0x${string}`;
                                                                      createdDate?: null | Date;
                                                                      repayment: bigint;
                                                                      hidden?: null | boolean;
                                                                      maxSeniorRepayment: bigint;
                                                                      collection: {
                                                                          __typename?: "Collection";
                                                                          id: string;
                                                                          slug: string;
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: `0x${string}`;
                                                                          };
                                                                      };
                                                                      currency: {
                                                                          __typename?: "Currency";
                                                                          symbol: string;
                                                                          decimals: number;
                                                                          address: `0x${string}`;
                                                                      };
                                                                      validators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                  } | {
                                                                      type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                      lender: undefined | null | `0x${string}`;
                                                                      borrower: undefined | null | `0x${string}`;
                                                                      signer: undefined | null | `0x${string}`;
                                                                      offerValidators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[] | {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                      nftCollateralAddress: `0x${string}`;
                                                                      nftCollateralTokenId: bigint;
                                                                      id: string;
                                                                      offerId: bigint;
                                                                      lenderAddress?: null | `0x${string}`;
                                                                      borrowerAddress?: null | `0x${string}`;
                                                                      signerAddress?: null | `0x${string}`;
                                                                      contractAddress: `0x${string}`;
                                                                      requiresLiquidation?: null | boolean;
                                                                      principalAddress: `0x${string}`;
                                                                      principalAmount: bigint;
                                                                      aprBps: bigint;
                                                                      fee: bigint;
                                                                      capacity: bigint;
                                                                      expirationTime: bigint;
                                                                      duration: bigint;
                                                                      status: string;
                                                                      offerHash?: null | `0x${string}`;
                                                                      signature?: null | `0x${string}`;
                                                                      createdDate?: null | Date;
                                                                      repayment: bigint;
                                                                      hidden?: null | boolean;
                                                                      maxSeniorRepayment: bigint;
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          id: string;
                                                                          tokenId: bigint;
                                                                          collection?: null | {
                                                                              __typename?: "Collection";
                                                                              id: string;
                                                                              slug: string;
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: `0x${string}`;
                                                                              };
                                                                          };
                                                                      };
                                                                      currency: {
                                                                          __typename?: "Currency";
                                                                          symbol: string;
                                                                          decimals: number;
                                                                          address: `0x${string}`;
                                                                      };
                                                                      validators: {
                                                                          __typename?: "OfferValidator";
                                                                          arguments: `0x${string}`;
                                                                          validator: `0x${string}`;
                                                                      }[];
                                                                  })[];
                                                                  hasNextPage: false;
                                                                  cursor: null;
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:396
                                                            • Returns Promise<{
                                                                  loans: {
                                                                      type: undefined | "MultiSourceLoan";
                                                                      contractAddress: `0x${string}`;
                                                                      nftCollateralTokenId: bigint;
                                                                      nftCollateralAddress: undefined | `0x${string}`;
                                                                      borrower: `0x${string}`;
                                                                      startTime: bigint;
                                                                      source: {
                                                                          lender: `0x${string}`;
                                                                          loanId: bigint;
                                                                          startTime: bigint;
                                                                          __typename?: "Source";
                                                                          id: string;
                                                                          originationFee: bigint;
                                                                          principalAmount: bigint;
                                                                          lenderAddress: string;
                                                                          accruedInterest: bigint;
                                                                          aprBps: bigint;
                                                                      }[];
                                                                      id: string;
                                                                      address: `0x${string}`;
                                                                      loanId: number;
                                                                      timestamp: Date;
                                                                      txHash: `0x${string}`;
                                                                      indexInBlock: number;
                                                                      borrowerAddress: `0x${string}`;
                                                                      principalAddress: `0x${string}`;
                                                                      duration: bigint;
                                                                      status: string;
                                                                      principalAmount: bigint;
                                                                      blendedAprBps: number;
                                                                      totalOriginationFee: bigint;
                                                                      protocolFee: bigint;
                                                                      offer: {
                                                                          __typename?: "CollectionOffer";
                                                                          offerId: bigint;
                                                                          signerAddress?: null | `0x${string}`;
                                                                      } | {
                                                                          __typename?: "SingleNFTOffer";
                                                                          offerId: bigint;
                                                                          signerAddress?: null | `0x${string}`;
                                                                      };
                                                                      currency: {
                                                                          __typename?: "Currency";
                                                                          symbol: string;
                                                                          decimals: number;
                                                                          address: `0x${string}`;
                                                                      };
                                                                      repaidActivity?: null | {
                                                                          __typename?: "LoanRepaid";
                                                                          totalInterest: bigint;
                                                                          timestamp: Date;
                                                                      };
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          id: string;
                                                                          name?: null | string;
                                                                          tokenId: bigint;
                                                                          nftId: string;
                                                                          owner?: null | `0x${string}`;
                                                                          image?: null | {
                                                                              __typename?: "Asset";
                                                                              data: string;
                                                                              cacheUrl?: null | string;
                                                                              contentTypeMime: string;
                                                                              accessTypeName: string;
                                                                          };
                                                                          collection?: null | {
                                                                              __typename?: "Collection";
                                                                              id: string;
                                                                              slug: string;
                                                                              name?: null | string;
                                                                              nftsCount?: null | number;
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: `0x${string}`;
                                                                              };
                                                                          };
                                                                      };
                                                                      sources: {
                                                                          __typename?: "Source";
                                                                          id: string;
                                                                          loanId: string;
                                                                          originationFee: bigint;
                                                                          principalAmount: bigint;
                                                                          lenderAddress: string;
                                                                          accruedInterest: bigint;
                                                                          aprBps: bigint;
                                                                          startTime: Date;
                                                                      }[];
                                                                  }[];
                                                                  hasNextPage: true;
                                                                  cursor: string;
                                                              } | {
                                                                  loans: {
                                                                      type: undefined | "MultiSourceLoan";
                                                                      contractAddress: `0x${string}`;
                                                                      nftCollateralTokenId: bigint;
                                                                      nftCollateralAddress: undefined | `0x${string}`;
                                                                      borrower: `0x${string}`;
                                                                      startTime: bigint;
                                                                      source: {
                                                                          lender: `0x${string}`;
                                                                          loanId: bigint;
                                                                          startTime: bigint;
                                                                          __typename?: "Source";
                                                                          id: string;
                                                                          originationFee: bigint;
                                                                          principalAmount: bigint;
                                                                          lenderAddress: string;
                                                                          accruedInterest: bigint;
                                                                          aprBps: bigint;
                                                                      }[];
                                                                      id: string;
                                                                      address: `0x${string}`;
                                                                      loanId: number;
                                                                      timestamp: Date;
                                                                      txHash: `0x${string}`;
                                                                      indexInBlock: number;
                                                                      borrowerAddress: `0x${string}`;
                                                                      principalAddress: `0x${string}`;
                                                                      duration: bigint;
                                                                      status: string;
                                                                      principalAmount: bigint;
                                                                      blendedAprBps: number;
                                                                      totalOriginationFee: bigint;
                                                                      protocolFee: bigint;
                                                                      offer: {
                                                                          __typename?: "CollectionOffer";
                                                                          offerId: bigint;
                                                                          signerAddress?: null | `0x${string}`;
                                                                      } | {
                                                                          __typename?: "SingleNFTOffer";
                                                                          offerId: bigint;
                                                                          signerAddress?: null | `0x${string}`;
                                                                      };
                                                                      currency: {
                                                                          __typename?: "Currency";
                                                                          symbol: string;
                                                                          decimals: number;
                                                                          address: `0x${string}`;
                                                                      };
                                                                      repaidActivity?: null | {
                                                                          __typename?: "LoanRepaid";
                                                                          totalInterest: bigint;
                                                                          timestamp: Date;
                                                                      };
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          id: string;
                                                                          name?: null | string;
                                                                          tokenId: bigint;
                                                                          nftId: string;
                                                                          owner?: null | `0x${string}`;
                                                                          image?: null | {
                                                                              __typename?: "Asset";
                                                                              data: string;
                                                                              cacheUrl?: null | string;
                                                                              contentTypeMime: string;
                                                                              accessTypeName: string;
                                                                          };
                                                                          collection?: null | {
                                                                              __typename?: "Collection";
                                                                              id: string;
                                                                              slug: string;
                                                                              name?: null | string;
                                                                              nftsCount?: null | number;
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: `0x${string}`;
                                                                              };
                                                                          };
                                                                      };
                                                                      sources: {
                                                                          __typename?: "Source";
                                                                          id: string;
                                                                          loanId: string;
                                                                          originationFee: bigint;
                                                                          principalAmount: bigint;
                                                                          lenderAddress: string;
                                                                          accruedInterest: bigint;
                                                                          aprBps: bigint;
                                                                          startTime: Date;
                                                                      }[];
                                                                  }[];
                                                                  hasNextPage: false;
                                                                  cursor: null;
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:415
                                                              • @@ -473,7 +474,7 @@
                                                                __namedParameters: nft: number

                                                              Returns Promise<ListNftMutation>

                                                              +
                                                            • Defined in src/gondi.ts:423
                                                              • @@ -489,7 +490,7 @@
                                                                __namedParameters: nft: number

                                                              Returns Promise<UnlistNftMutation>

                                                              +
                                                            • Defined in src/gondi.ts:427
                                                            • Returns Promise<{
                                                                  listings: {
                                                                      __typename?: "Listing";
                                                                      id: string;
                                                                      marketplaceName: MarketplaceEnum;
                                                                      createdDate: Date;
                                                                      desiredDuration?: null | number;
                                                                      desiredPrincipalAddress?: null | `0x${string}`;
                                                                      user: {
                                                                          __typename?: "User";
                                                                          walletAddress: `0x${string}`;
                                                                      };
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          id: string;
                                                                          tokenId: bigint;
                                                                          collection?: null | {
                                                                              __typename?: "Collection";
                                                                              id: string;
                                                                              slug: string;
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: `0x${string}`;
                                                                              };
                                                                          };
                                                                      };
                                                                  }[];
                                                                  hasNextPage: true;
                                                                  cursor: string;
                                                              } | {
                                                                  listings: {
                                                                      __typename?: "Listing";
                                                                      id: string;
                                                                      marketplaceName: MarketplaceEnum;
                                                                      createdDate: Date;
                                                                      desiredDuration?: null | number;
                                                                      desiredPrincipalAddress?: null | `0x${string}`;
                                                                      user: {
                                                                          __typename?: "User";
                                                                          walletAddress: `0x${string}`;
                                                                      };
                                                                      nft: {
                                                                          __typename?: "NFT";
                                                                          id: string;
                                                                          tokenId: bigint;
                                                                          collection?: null | {
                                                                              __typename?: "Collection";
                                                                              id: string;
                                                                              slug: string;
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: `0x${string}`;
                                                                              };
                                                                          };
                                                                      };
                                                                  }[];
                                                                  hasNextPage: false;
                                                                  cursor: null;
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:431
                                                              • @@ -515,7 +516,7 @@

                                                                Parameters

                                                                props: Object

                                                              Returns Promise<number>

                                                              +
                                                            • Defined in src/gondi.ts:447
                                                              • @@ -535,7 +536,7 @@
                                                                Optional Optional collections?: number[]

                                                              Returns Promise<{
                                                                  collections: {
                                                                      __typename?: "Collection";
                                                                      id: string;
                                                                      name?: null | string;
                                                                      slug: string;
                                                                      description?: null | string;
                                                                      discordUrl?: null | string;
                                                                      twitterUsername?: null | string;
                                                                      externalUrl?: null | string;
                                                                      collectionUrl?: null | string;
                                                                      verified: boolean;
                                                                      wrapperCollections: {
                                                                          __typename?: "Collection";
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: `0x${string}`;
                                                                          };
                                                                      }[];
                                                                      image?: null | {
                                                                          __typename?: "Asset";
                                                                          cacheUrl?: null | string;
                                                                      };
                                                                      bannerImage?: null | {
                                                                          __typename?: "Asset";
                                                                          cacheUrl?: null | string;
                                                                      };
                                                                      contractData: {
                                                                          __typename?: "ContractData";
                                                                          blockchain: string;
                                                                          contractAddress: `0x${string}`;
                                                                          createdDate: Date;
                                                                          creatorAddress?: null | `0x${string}`;
                                                                      };
                                                                      statistics: {
                                                                          __typename?: "CollectionStatistics";
                                                                          floorPrice7d?: null | number;
                                                                          floorPrice30d?: null | number;
                                                                          totalVolume?: null | number;
                                                                          totalVolume1y?: null | number;
                                                                          totalVolume3m?: null | number;
                                                                          totalVolume1m?: null | number;
                                                                          totalVolume1w?: null | number;
                                                                          totalLoanVolume: bigint;
                                                                          totalLoanVolume1w: bigint;
                                                                          totalLoanVolume1m: bigint;
                                                                          totalLoanVolume3m: bigint;
                                                                          totalLoanVolume1y: bigint;
                                                                          numberOfPricedNfts: number;
                                                                          nftsCount?: null | number;
                                                                          percentageInOutstandingLoans: number;
                                                                          repaymentRate: number;
                                                                          numberOfOffers: number;
                                                                          floorPrice?: null | {
                                                                              __typename?: "CurrencyAmount";
                                                                              amount: number;
                                                                              currency: {
                                                                                  __typename?: "Currency";
                                                                                  address: `0x${string}`;
                                                                                  decimals: number;
                                                                              };
                                                                          };
                                                                          bestOffer?: null | {
                                                                              __typename?: "CurrencyAmount";
                                                                              amount: number;
                                                                              currency: {
                                                                                  __typename?: "Currency";
                                                                                  address: `0x${string}`;
                                                                                  decimals: number;
                                                                              };
                                                                          };
                                                                      };
                                                                  }[];
                                                                  pageInfo: {
                                                                      __typename?: "PageInfo";
                                                                      endCursor?: null | string;
                                                                      hasNextPage: boolean;
                                                                  };
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:462
                                                              • @@ -553,7 +554,7 @@
                                                                slugOptional contractAddress?: undefined

                                                              Returns Promise<number>

                                                              +
                                                            • Defined in src/gondi.ts:474
                                                            • @@ -568,7 +569,7 @@
                                                              Optional contractAddress: `0x${string}`
                                                            • Returns Promise<number[]>

                                                              +
                                                            • Defined in src/gondi.ts:475
                                                            • Returns Promise<{
                                                                  ownedNfts: {
                                                                      __typename?: "NFT";
                                                                      id: string;
                                                                      tokenId: bigint;
                                                                      price?: null | bigint;
                                                                      priceCurrencyAddress?: null | string;
                                                                      collection?: null | {
                                                                          __typename?: "Collection";
                                                                          id: string;
                                                                          contractData: {
                                                                              __typename?: "ContractData";
                                                                              contractAddress: `0x${string}`;
                                                                          };
                                                                          wrapperCollections: {
                                                                              __typename?: "Collection";
                                                                              contractData: {
                                                                                  __typename?: "ContractData";
                                                                                  contractAddress: `0x${string}`;
                                                                              };
                                                                          }[];
                                                                      };
                                                                      activeLoan?: null | {
                                                                          __typename?: "MultiSourceLoan";
                                                                          id: string;
                                                                      };
                                                                      statistics: {
                                                                          __typename?: "NftStatistics";
                                                                          lastSale?: null | {
                                                                              __typename?: "Sale";
                                                                              order: {
                                                                                  __typename?: "CollectionOrder";
                                                                                  price: bigint;
                                                                                  currency: {
                                                                                      __typename?: "Currency";
                                                                                      address: `0x${string}`;
                                                                                      decimals: number;
                                                                                  };
                                                                              } | {
                                                                                  __typename?: "SingleNFTOrder";
                                                                                  price: bigint;
                                                                                  currency: {
                                                                                      __typename?: "Currency";
                                                                                      address: `0x${string}`;
                                                                                      decimals: number;
                                                                                  };
                                                                              };
                                                                          };
                                                                          topTraitFloorPrice?: null | {
                                                                              __typename?: "CurrencyAmount";
                                                                              amount: number;
                                                                              currency: {
                                                                                  __typename?: "Currency";
                                                                                  address: `0x${string}`;
                                                                                  decimals: number;
                                                                              };
                                                                          };
                                                                      };
                                                                  }[];
                                                                  pageInfo: {
                                                                      __typename?: "PageInfo";
                                                                      endCursor?: null | string;
                                                                      hasNextPage: boolean;
                                                                  };
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:504
                                                            • Returns Promise<number>

                                                              +
                                                            • Defined in src/gondi.ts:510
                                                            • Returns Promise<boolean>

                                                              +
                                                            • Defined in src/gondi.ts:516
                                                              • @@ -631,7 +632,7 @@
                                                                aprBpsImprovementPercentag
                                                                refinancings: {
                                                                    loan: Object;
                                                                    source: {
                                                                        loanId: bigint;
                                                                        floor: bigint;
                                                                        principalAmount: bigint;
                                                                        lender: `0x${string}`;
                                                                        accruedInterest: bigint;
                                                                        startTime: bigint;
                                                                        aprBps: bigint;
                                                                    } & {
                                                                        loanIndex: number;
                                                                    };
                                                                    refinancingPrincipal: bigint;
                                                                }[]

                                                              Returns Promise<({
                                                                  status: "fulfilled";
                                                                  value: {
                                                                      txHash: `0x${string}`;
                                                                      waitTxInBlock: (() => Promise<{
                                                                          results: {
                                                                              renegotiationId: bigint;
                                                                              oldLoanId: bigint;
                                                                              newLoanId: bigint;
                                                                              loan: {
                                                                                  borrower: `0x${string}`;
                                                                                  nftCollateralTokenId: bigint;
                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                  principalAddress: `0x${string}`;
                                                                                  principalAmount: bigint;
                                                                                  startTime: bigint;
                                                                                  duration: bigint;
                                                                                  source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                              };
                                                                              fee: bigint;
                                                                          }[];
                                                                      }>);
                                                                  } | {
                                                                      txHash: `0x${string}`;
                                                                      waitTxInBlock: (() => Promise<{
                                                                          results: {
                                                                              renegotiationId: bigint;
                                                                              oldLoanId: bigint;
                                                                              newLoanId: bigint;
                                                                              loan: {
                                                                                  borrower: `0x${string}`;
                                                                                  nftCollateralTokenId: bigint;
                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                  principalAddress: `0x${string}`;
                                                                                  principalAmount: bigint;
                                                                                  startTime: bigint;
                                                                                  duration: bigint;
                                                                                  tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                                  protocolFee: bigint;
                                                                              };
                                                                              fee: bigint;
                                                                          }[];
                                                                      }>);
                                                                  };
                                                                  reason: undefined;
                                                              } | {
                                                                  status: "rejected";
                                                                  reason: unknown;
                                                                  value: any[];
                                                              })[]>

                                                              +
                                                            • Defined in src/gondi.ts:545
                                                              • @@ -651,7 +652,7 @@
                                                                loanloanId: bigint

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          tranche: readonly {
                                                                              loanId: bigint;
                                                                              floor: bigint;
                                                                              principalAmount: bigint;
                                                                              lender: `0x${string}`;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          protocolFee: bigint;
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      renegotiationId: string;
                                                                  }>);
                                                              } | {
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          source: readonly {
                                                                              loanId: bigint;
                                                                              lender: `0x${string}`;
                                                                              principalAmount: bigint;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      renegotiationId: string;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:631
                                                              • @@ -671,7 +672,7 @@
                                                                loanloanId: bigint

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          tranche: readonly {
                                                                              loanId: bigint;
                                                                              floor: bigint;
                                                                              principalAmount: bigint;
                                                                              lender: `0x${string}`;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          protocolFee: bigint;
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      renegotiationId: string;
                                                                  }>);
                                                              } | {
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          source: readonly {
                                                                              loanId: bigint;
                                                                              lender: `0x${string}`;
                                                                              principalAmount: bigint;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      renegotiationId: string;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:647
                                                              • @@ -691,7 +692,7 @@
                                                                loanloanId: bigint

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loan: {
                                                                          contractAddress: `0x${string}`;
                                                                          borrower: `0x${string}`;
                                                                          nftCollateralTokenId: bigint;
                                                                          nftCollateralAddress: `0x${string}`;
                                                                          principalAddress: `0x${string}`;
                                                                          principalAmount: bigint;
                                                                          startTime: bigint;
                                                                          duration: bigint;
                                                                          tranche: readonly {
                                                                              loanId: bigint;
                                                                              floor: bigint;
                                                                              principalAmount: bigint;
                                                                              lender: `0x${string}`;
                                                                              accruedInterest: bigint;
                                                                              startTime: bigint;
                                                                              aprBps: bigint;
                                                                          }[];
                                                                          protocolFee: bigint;
                                                                          id: string;
                                                                      };
                                                                      loanId: bigint;
                                                                      renegotiationId: string;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:662
                                                              • @@ -708,7 +709,7 @@
                                                                delegations: Returns Promise<{
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        results: {
                                                                            loanId: bigint;
                                                                            delegate: `0x${string}`;
                                                                            value: boolean;
                                                                        }[];
                                                                    }>);
                                                                }>
                                                              +
                                                            • Defined in src/gondi.ts:682
                                                              • @@ -735,7 +736,7 @@
                                                                Optional Returns Promise<{
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        loan: {
                                                                            loanId: bigint;
                                                                            contractAddress: `0x${string}`;
                                                                            borrower: `0x${string}`;
                                                                            nftCollateralTokenId: bigint;
                                                                            nftCollateralAddress: `0x${string}`;
                                                                            principalAddress: `0x${string}`;
                                                                            principalAmount: bigint;
                                                                            startTime: bigint | bigint & Date;
                                                                            duration: bigint;
                                                                            tranche: readonly {
                                                                                loanId: bigint;
                                                                                floor: bigint;
                                                                                principalAmount: bigint;
                                                                                lender: `0x${string}`;
                                                                                accruedInterest: bigint;
                                                                                startTime: bigint;
                                                                                aprBps: bigint;
                                                                            }[];
                                                                            protocolFee: bigint;
                                                                            contractStartTime: bigint | Date;
                                                                        };
                                                                        value: boolean;
                                                                    }>);
                                                                } | {
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        loan: {
                                                                            loanId: bigint;
                                                                            contractAddress: `0x${string}`;
                                                                            borrower: `0x${string}`;
                                                                            nftCollateralTokenId: bigint;
                                                                            nftCollateralAddress: `0x${string}`;
                                                                            principalAddress: `0x${string}`;
                                                                            principalAmount: bigint;
                                                                            startTime: bigint | bigint & Date;
                                                                            duration: bigint;
                                                                            source: readonly {
                                                                                loanId: bigint;
                                                                                lender: `0x${string}`;
                                                                                principalAmount: bigint;
                                                                                accruedInterest: bigint;
                                                                                startTime: bigint;
                                                                                aprBps: bigint;
                                                                            }[];
                                                                        };
                                                                        value: boolean;
                                                                    }>);
                                                                }>
                                                              +
                                                            • Defined in src/gondi.ts:693
                                                              • @@ -760,7 +761,7 @@
                                                                Optional Returns Promise<{
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        delegate: `0x${string}`;
                                                                        collection: `0x${string}`;
                                                                        tokenId: bigint;
                                                                    }>);
                                                                }>
                                                              +
                                                            • Defined in src/gondi.ts:716
                                                              • @@ -782,7 +783,7 @@
                                                                emitReturns Promise<{
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        results: ({
                                                                            loanId: bigint;
                                                                            offerId: bigint;
                                                                            loan: {
                                                                                borrower: `0x${string}`;
                                                                                nftCollateralTokenId: bigint;
                                                                                nftCollateralAddress: `0x${string}`;
                                                                                principalAddress: `0x${string}`;
                                                                                principalAmount: bigint;
                                                                                startTime: bigint;
                                                                                duration: bigint;
                                                                                source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                            };
                                                                            lender: `0x${string}`;
                                                                            borrower: `0x${string}`;
                                                                            fee: bigint;
                                                                        } | {
                                                                            delegate: `0x${string}`;
                                                                            collection: `0x${string}`;
                                                                            tokenId: bigint;
                                                                        })[];
                                                                        loan: {
                                                                            contractAddress: `0x${string}`;
                                                                            borrower: `0x${string}`;
                                                                            nftCollateralTokenId: bigint;
                                                                            nftCollateralAddress: `0x${string}`;
                                                                            principalAddress: `0x${string}`;
                                                                            principalAmount: bigint;
                                                                            startTime: bigint;
                                                                            duration: bigint;
                                                                            source: readonly {
                                                                                loanId: bigint;
                                                                                lender: `0x${string}`;
                                                                                principalAmount: bigint;
                                                                                accruedInterest: bigint;
                                                                                startTime: bigint;
                                                                                aprBps: bigint;
                                                                            }[];
                                                                            id: string;
                                                                        };
                                                                        loanId: bigint;
                                                                    }>);
                                                                } | {
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        results: ({
                                                                            loanId: bigint;
                                                                            offerId: readonly bigint[];
                                                                            loan: {
                                                                                borrower: `0x${string}`;
                                                                                nftCollateralTokenId: bigint;
                                                                                nftCollateralAddress: `0x${string}`;
                                                                                principalAddress: `0x${string}`;
                                                                                principalAmount: bigint;
                                                                                startTime: bigint;
                                                                                duration: bigint;
                                                                                tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                                protocolFee: bigint;
                                                                            };
                                                                            fee: bigint;
                                                                        } | {
                                                                            delegate: `0x${string}`;
                                                                            collection: `0x${string}`;
                                                                            tokenId: bigint;
                                                                        })[];
                                                                        loan: {
                                                                            contractAddress: `0x${string}`;
                                                                            borrower: `0x${string}`;
                                                                            nftCollateralTokenId: bigint;
                                                                            nftCollateralAddress: `0x${string}`;
                                                                            principalAddress: `0x${string}`;
                                                                            principalAmount: bigint;
                                                                            startTime: bigint;
                                                                            duration: bigint;
                                                                            tranche: readonly {
                                                                                loanId: bigint;
                                                                                floor: bigint;
                                                                                principalAmount: bigint;
                                                                                lender: `0x${string}`;
                                                                                accruedInterest: bigint;
                                                                                startTime: bigint;
                                                                                aprBps: bigint;
                                                                            }[];
                                                                            protocolFee: bigint;
                                                                            id: string;
                                                                        };
                                                                        loanId: bigint;
                                                                    }>);
                                                                }>
                                                              +
                                                            • Defined in src/gondi.ts:734
                                                              • @@ -800,7 +801,7 @@
                                                                loanloanId: bigint

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loanId: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:745
                                                              • @@ -822,7 +823,7 @@
                                                                bidauction: Auction

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      auctionContract: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      newBidder: `0x${string}`;
                                                                      bid: bigint;
                                                                      loanAddress: `0x${string}`;
                                                                      loanId: bigint;
                                                                  }>);
                                                              } | {
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      collection: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      newBidder: `0x${string}`;
                                                                      bid: bigint;
                                                                      loanAddress: `0x${string}`;
                                                                      loanId: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:751
                                                              • @@ -840,7 +841,7 @@
                                                                loanauction: Auction

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loanContract: `0x${string}`;
                                                                      loanId: bigint;
                                                                      auctionContract: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      asset: `0x${string}`;
                                                                      proceeds: bigint;
                                                                      settler: `0x${string}`;
                                                                      triggerFee: bigint;
                                                                  }>);
                                                              } | {
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loanContract: `0x${string}`;
                                                                      loanId: bigint;
                                                                      auctionContract: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      asset: `0x${string}`;
                                                                      highestBid: bigint;
                                                                      settler: `0x${string}`;
                                                                      triggerFee: bigint;
                                                                  }>);
                                                              } | {
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loanContract: `0x${string}`;
                                                                      loanId: bigint;
                                                                      collection: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      asset: `0x${string}`;
                                                                      proceeds: bigint;
                                                                      settler: `0x${string}`;
                                                                      triggerFee: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:767
                                                              • @@ -858,7 +859,7 @@
                                                                loanauction: Auction

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      loanAddress: `0x${string}`;
                                                                      loanId: bigint;
                                                                      nftAddress: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      largestTrancheIdx: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:773
                                                              • @@ -874,7 +875,7 @@
                                                                __namedParameters: auction: Auction

                                                              Returns Promise<number>

                                                              +
                                                            • Defined in src/gondi.ts:779
                                                              • @@ -895,7 +896,7 @@
                                                                tokenIdReturns Promise<`0x${string}`>
                                                              +
                                                            • Defined in src/gondi.ts:786
                                                              • @@ -916,7 +917,7 @@
                                                                tokenIdReturns Promise<bigint>
                                                              +
                                                            • Defined in src/gondi.ts:794
                                                              • @@ -936,7 +937,7 @@
                                                                standardOptional to?: `0x${string}`

                                                              Returns Promise<boolean>

                                                              +
                                                            • Defined in src/gondi.ts:799
                                                              • @@ -956,7 +957,7 @@
                                                                standardOptional to?: `0x${string}`

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      owner: `0x${string}`;
                                                                      operator: `0x${string}`;
                                                                      approved: boolean;
                                                                  } | {
                                                                      owner: `0x${string}`;
                                                                      operator: `0x${string}`;
                                                                      approved: boolean;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:812
                                                              • @@ -976,7 +977,7 @@
                                                                amountOptional to?: `0x${string}`

                                                              Returns Promise<boolean>

                                                              +
                                                            • Defined in src/gondi.ts:837
                                                              • @@ -996,7 +997,7 @@
                                                                Optional Optional to?: `0x${string}`

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      owner: `0x${string}`;
                                                                      spender: `0x${string}`;
                                                                      amount: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:850
                                                            • Returns Promise<{
                                                                  vaultId: bigint;
                                                                  receipts: ({
                                                                      vaultId: bigint;
                                                                      collection: `0x${string}`;
                                                                      tokenId: bigint;
                                                                  } | {
                                                                      vaultId: bigint;
                                                                      token: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      amount: bigint;
                                                                  })[];
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:875
                                                              • @@ -1030,7 +1031,7 @@
                                                                nftsOptional userVaultAddress?: `0x${string}`

                                                              Returns Promise<{
                                                                  vaultId: bigint;
                                                                  receipts: ({
                                                                      vaultId: bigint;
                                                                      collection: `0x${string}`;
                                                                      tokenId: bigint;
                                                                  } | {
                                                                      vaultId: bigint;
                                                                      token: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      amount: bigint;
                                                                  })[];
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:878
                                                              • @@ -1043,7 +1044,7 @@

                                                                Parameters

                                                                __namedParameters: {
                                                                    userVaultAddress?: `0x${string}`;
                                                                } & DepositERC721sArgs

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      vaultId: bigint;
                                                                      collection: `0x${string}`;
                                                                      tokenId: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:888
                                                              • @@ -1056,7 +1057,7 @@

                                                                Parameters

                                                                __namedParameters: {
                                                                    userVaultAddress?: `0x${string}`;
                                                                } & DepositERC1155sArgs

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      vaultId: bigint;
                                                                      token: `0x${string}`;
                                                                      tokenId: bigint;
                                                                      amount: bigint;
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:895
                                                              • @@ -1069,7 +1070,7 @@

                                                                Parameters

                                                                __namedParameters: {
                                                                    userVaultAddress?: `0x${string}`;
                                                                } & BurnAndWithdrawArgs

                                                              Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitTxInBlock: (() => Promise<{
                                                                      events: {
                                                                          vaultId: bigint;
                                                                          collection: `0x${string}`;
                                                                          tokenId: bigint;
                                                                      }[];
                                                                      oldEvents: {
                                                                          vaultId: bigint;
                                                                          collection: `0x${string}`;
                                                                          tokenId: bigint;
                                                                      }[];
                                                                  }>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:902
                                                            • Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitMined: (() => Promise<TransactionReceipt>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:909
                                                            • Returns Promise<{
                                                                  txHash: `0x${string}`;
                                                                  waitMined: (() => Promise<TransactionReceipt>);
                                                              }>

                                                              +
                                                            • Defined in src/gondi.ts:924
                                                            • +
                                                              + +
                                                                + +
                                                              • +
                                                                +

                                                                Parameters

                                                                +
                                                                  +
                                                                • +
                                                                  __namedParameters: {
                                                                      repaymentCalldata: `0x${string}`;
                                                                  }
                                                                  +
                                                                    +
                                                                  • +
                                                                    repaymentCalldata: `0x${string}`
                                                                +

                                                                Returns Promise<{
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<TransactionReceipt>);
                                                                }>

                                                              Properties

                                                              contracts: Contracts
                                                              +
                                                            • Defined in src/gondi.ts:36
                                                            • wallet: {}
                                                              @@ -1110,12 +1127,12 @@
                                                              +
                                                            • Defined in src/gondi.ts:37
                                                            • account: Account
                                                              +
                                                            • Defined in src/gondi.ts:38
                                                            • bcClient: {}
                                                              @@ -1123,12 +1140,12 @@
                                                                +
                                                              • Defined in src/gondi.ts:39
                                                              • api: Api
                                                                +
                                                              • Defined in src/gondi.ts:40
                                                              • defaults: {
                                                                    Msl: `0x${string}`;
                                                                    UserVault: `0x${string}`;
                                                                }
                                                                @@ -1140,7 +1157,7 @@
                                                                Msl
                                                                UserVault: `0x${string}`
                                                                +
                                                              • Defined in src/gondi.ts:41
                                                              • @@ -23,7 +23,7 @@

                                                                Hierarchy

                                                                • AllV4
                                                                +
                                                              • Defined in src/contracts/AllV4.ts:11
                                                              • @@ -70,7 +70,7 @@
                                                                walletClientReturns AllV4
                                                                +
                                                              • Defined in src/contracts/AllV4.ts:48
                                                              • Methods

                                                                @@ -92,7 +92,7 @@
                                                                tokenIdbid: bigint

                                                                Returns Promise<{
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        auctionContract: `0x${string}`;
                                                                        tokenId: bigint;
                                                                        newBidder: `0x${string}`;
                                                                        bid: bigint;
                                                                        loanAddress: `0x${string}`;
                                                                        loanId: bigint;
                                                                    }>);
                                                                }>

                                                                +
                                                              • Defined in src/contracts/AllV4.ts:60
                                                              • +
                                                              • Defined in src/contracts/AllV4.ts:83
                                                                • @@ -108,7 +108,7 @@
                                                                +
                                                              • Defined in src/contracts/AllV4.ts:87
                                                                • @@ -124,7 +124,7 @@
                                                                  __namedParameters: loan: LoanV4

                                                                Returns Promise<{
                                                                    txHash: `0x${string}`;
                                                                    waitTxInBlock: (() => Promise<{
                                                                        loanContract: `0x${string}`;
                                                                        loanId: bigint;
                                                                        auctionContract: `0x${string}`;
                                                                        tokenId: bigint;
                                                                        asset: `0x${string}`;
                                                                        highestBid: bigint;
                                                                        settler: `0x${string}`;
                                                                        triggerFee: bigint;
                                                                    }>);
                                                                }>

                                                                +
                                                              • Defined in src/contracts/AllV4.ts:91
                                                              • Properties

                                                                @@ -140,19 +140,19 @@
                                                                type
                                                                components: ({
                                                                    name: string;
                                                                    type: string;
                                                                    components?: undefined;
                                                                } | {
                                                                    name: string;
                                                                    type: string;
                                                                    components: {
                                                                        name: string;
                                                                        internalType: string;
                                                                        type: string;
                                                                    }[];
                                                                })[]
                                                                +
                                                              • Defined in src/contracts/AllV4.ts:12
                                                              • abi: readonly [{
                                                                    stateMutability: "nonpayable";
                                                                    type: "constructor";
                                                                    inputs: readonly [{
                                                                        name: "currencyManager";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "collectionManager";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "triggerFee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "AuctionAlreadyInProgressError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "_contract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "AuctionNotExistsError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "_expiration";
                                                                        internalType: "uint96";
                                                                        type: "uint96";
                                                                    }];
                                                                    name: "AuctionNotOverError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "_expiration";
                                                                        internalType: "uint96";
                                                                        type: "uint96";
                                                                    }];
                                                                    name: "AuctionOverError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "CollectionNotWhitelistedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "CurrencyNotWhitelistedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "triggerFee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "InvalidTriggerFee";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "_loan";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "LoanNotAcceptedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "_minBid";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "MinBidError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [{
                                                                        name: "_owner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "NFTNotOwnedError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "NoBidsError";
                                                                }, {
                                                                    type: "error";
                                                                    inputs: readonly [];
                                                                    name: "ZeroAddressError";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "loanContract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "auctionContract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "asset";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "highestBid";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "settler";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "triggerFee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "AuctionSettled";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "auctionContract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "newBidder";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "bid";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "loanAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "BidPlaced";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "loan";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "LoanContractAdded";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "loan";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "LoanContractRemoved";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "loanAddress";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "duration";
                                                                        internalType: "uint96";
                                                                        type: "uint96";
                                                                        indexed: false;
                                                                    }, {
                                                                        name: "asset";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "LoanLiquidationStarted";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "user";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }, {
                                                                        name: "newOwner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                        indexed: true;
                                                                    }];
                                                                    name: "OwnershipTransferred";
                                                                }, {
                                                                    type: "event";
                                                                    anonymous: false;
                                                                    inputs: readonly [{
                                                                        name: "triggerFee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                        indexed: false;
                                                                    }];
                                                                    name: "TriggerFeeUpdated";
                                                                }, {
                                                                    stateMutability: "view";
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "MAX_TRIGGER_FEE";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    stateMutability: "view";
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "MIN_INCREMENT_BPS";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_loanContract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "addLoanContract";
                                                                    outputs: readonly [];
                                                                }, {
                                                                    stateMutability: "view";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_contract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "getAuction";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "struct AuctionLoanLiquidator.Auction";
                                                                        type: "tuple";
                                                                        components: readonly [{
                                                                            name: "loanAddress";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "highestBid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "highestBidder";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "duration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }, {
                                                                            name: "asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "startTime";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }, {
                                                                            name: "originator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "lastBidTime";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }];
                                                                    }];
                                                                }, {
                                                                    stateMutability: "view";
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "getTriggerFee";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                }, {
                                                                    stateMutability: "view";
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "getValidLoanContracts";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address[]";
                                                                        type: "address[]";
                                                                    }];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_loanId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_contract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_asset";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_duration";
                                                                        internalType: "uint96";
                                                                        type: "uint96";
                                                                    }, {
                                                                        name: "_originator";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "liquidateLoan";
                                                                    outputs: readonly [];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "onERC721Received";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "bytes4";
                                                                        type: "bytes4";
                                                                    }];
                                                                }, {
                                                                    stateMutability: "view";
                                                                    type: "function";
                                                                    inputs: readonly [];
                                                                    name: "owner";
                                                                    outputs: readonly [{
                                                                        name: "";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_contract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_bid";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "placeBid";
                                                                    outputs: readonly [];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_loanContract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "removeLoanContract";
                                                                    outputs: readonly [];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "_contract";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }, {
                                                                        name: "_tokenId";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }, {
                                                                        name: "_loan";
                                                                        internalType: "bytes";
                                                                        type: "bytes";
                                                                    }];
                                                                    name: "settleAuction";
                                                                    outputs: readonly [];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "newOwner";
                                                                        internalType: "address";
                                                                        type: "address";
                                                                    }];
                                                                    name: "transferOwnership";
                                                                    outputs: readonly [];
                                                                }, {
                                                                    stateMutability: "nonpayable";
                                                                    type: "function";
                                                                    inputs: readonly [{
                                                                        name: "triggerFee";
                                                                        internalType: "uint256";
                                                                        type: "uint256";
                                                                    }];
                                                                    name: "updateTriggerFee";
                                                                    outputs: readonly [];
                                                                }]
                                                                +
                                                              • Defined in src/contracts/BaseContract.ts:21
                                                              • address: `0x${string}`
                                                                +
                                                              • Defined in src/contracts/BaseContract.ts:22
                                                              • bcClient: {}
                                                                @@ -161,7 +161,7 @@

                                                                Type declaration

                                                                  +
                                                                • Defined in src/contracts/BaseContract.ts:23
                                                                • wallet: {}
                                                                  @@ -170,13 +170,13 @@

                                                                  Type declaration

                                                                    +
                                                                  • Defined in src/contracts/BaseContract.ts:24
                                                                  • contract: GetContractReturnType<readonly [{
                                                                        stateMutability: "nonpayable";
                                                                        type: "constructor";
                                                                        inputs: readonly [{
                                                                            name: "currencyManager";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "collectionManager";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "AuctionAlreadyInProgressError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "AuctionNotExistsError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_expiration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }];
                                                                        name: "AuctionNotOverError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_expiration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }];
                                                                        name: "AuctionOverError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "CollectionNotWhitelistedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "CurrencyNotWhitelistedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "InvalidTriggerFee";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "LoanNotAcceptedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_minBid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "MinBidError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_owner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "NFTNotOwnedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "NoBidsError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "ZeroAddressError";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "auctionContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "highestBid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "settler";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "AuctionSettled";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "auctionContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "newBidder";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "bid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanAddress";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "BidPlaced";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanContractAdded";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanContractRemoved";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loanAddress";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "duration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanLiquidationStarted";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "user";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: true;
                                                                        }, {
                                                                            name: "newOwner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: true;
                                                                        }];
                                                                        name: "OwnershipTransferred";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "TriggerFeeUpdated";
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "MAX_TRIGGER_FEE";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "MIN_INCREMENT_BPS";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "addLoanContract";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "getAuction";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "struct AuctionLoanLiquidator.Auction";
                                                                            type: "tuple";
                                                                            components: readonly [{
                                                                                name: "loanAddress";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "highestBid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "highestBidder";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "duration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "startTime";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "originator";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "lastBidTime";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "getTriggerFee";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "getValidLoanContracts";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address[]";
                                                                            type: "address[]";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_duration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }, {
                                                                            name: "_originator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "liquidateLoan";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                        name: "onERC721Received";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "bytes4";
                                                                            type: "bytes4";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "owner";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_bid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "placeBid";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "removeLoanContract";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_loan";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                        name: "settleAuction";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "newOwner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "transferOwnership";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "updateTriggerFee";
                                                                        outputs: readonly [];
                                                                    }], {} | {}>
                                                                    +
                                                                  • Defined in src/contracts/BaseContract.ts:25
                                                                  • safeContractWrite: {
                                                                        transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                        addLoanContract: ((args, options?) => Promise<`0x${string}`>);
                                                                        liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                        onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                        placeBid: ((args, options?) => Promise<`0x${string}`>);
                                                                        removeLoanContract: ((args, options?) => Promise<`0x${string}`>);
                                                                        settleAuction: ((args, options?) => Promise<`0x${string}`>);
                                                                        updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
                                                                    }
                                                                    @@ -329,7 +329,7 @@
                                                                    Optional Returns Promise<`0x${string}`>
                                                                    +
                                                                  • Defined in src/contracts/BaseContract.ts:27
                                                                  • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                        stateMutability: "nonpayable";
                                                                        type: "constructor";
                                                                        inputs: readonly [{
                                                                            name: "currencyManager";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "collectionManager";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "AuctionAlreadyInProgressError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "AuctionNotExistsError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_expiration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }];
                                                                        name: "AuctionNotOverError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_expiration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }];
                                                                        name: "AuctionOverError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "CollectionNotWhitelistedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "CurrencyNotWhitelistedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "InvalidTriggerFee";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "LoanNotAcceptedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_minBid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "MinBidError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_owner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "NFTNotOwnedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "NoBidsError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "ZeroAddressError";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "auctionContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "highestBid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "settler";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "AuctionSettled";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "auctionContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "newBidder";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "bid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanAddress";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "BidPlaced";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanContractAdded";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanContractRemoved";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loanAddress";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "duration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanLiquidationStarted";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "user";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: true;
                                                                        }, {
                                                                            name: "newOwner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: true;
                                                                        }];
                                                                        name: "OwnershipTransferred";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "TriggerFeeUpdated";
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "MAX_TRIGGER_FEE";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "MIN_INCREMENT_BPS";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "addLoanContract";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "getAuction";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "struct AuctionLoanLiquidator.Auction";
                                                                            type: "tuple";
                                                                            components: readonly [{
                                                                                name: "loanAddress";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "highestBid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "highestBidder";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "duration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "startTime";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "originator";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "lastBidTime";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "getTriggerFee";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "getValidLoanContracts";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address[]";
                                                                            type: "address[]";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_duration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }, {
                                                                            name: "_originator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "liquidateLoan";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                        name: "onERC721Received";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "bytes4";
                                                                            type: "bytes4";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "owner";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_bid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "placeBid";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "removeLoanContract";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_loan";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                        name: "settleAuction";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "newOwner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "transferOwnership";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "updateTriggerFee";
                                                                        outputs: readonly [];
                                                                    }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated")[]
                                                                        ? TFunctionName[number]
                                                                        : TFunctionName>)
                                                                    @@ -355,7 +355,7 @@
                                                                    logs: Returns ParseEventLogsReturnType<readonly [{
                                                                        stateMutability: "nonpayable";
                                                                        type: "constructor";
                                                                        inputs: readonly [{
                                                                            name: "currencyManager";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "collectionManager";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "AuctionAlreadyInProgressError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "AuctionNotExistsError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_expiration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }];
                                                                        name: "AuctionNotOverError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_expiration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }];
                                                                        name: "AuctionOverError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "CollectionNotWhitelistedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "CurrencyNotWhitelistedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "InvalidTriggerFee";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "LoanNotAcceptedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_minBid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "MinBidError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [{
                                                                            name: "_owner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "NFTNotOwnedError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "NoBidsError";
                                                                    }, {
                                                                        type: "error";
                                                                        inputs: readonly [];
                                                                        name: "ZeroAddressError";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "auctionContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "highestBid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "settler";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "AuctionSettled";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "auctionContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "newBidder";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "bid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanAddress";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "BidPlaced";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanContractAdded";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loan";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanContractRemoved";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "loanAddress";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "duration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                            indexed: false;
                                                                        }, {
                                                                            name: "asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "LoanLiquidationStarted";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "user";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: true;
                                                                        }, {
                                                                            name: "newOwner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                            indexed: true;
                                                                        }];
                                                                        name: "OwnershipTransferred";
                                                                    }, {
                                                                        type: "event";
                                                                        anonymous: false;
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                            indexed: false;
                                                                        }];
                                                                        name: "TriggerFeeUpdated";
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "MAX_TRIGGER_FEE";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "MIN_INCREMENT_BPS";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "addLoanContract";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "getAuction";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "struct AuctionLoanLiquidator.Auction";
                                                                            type: "tuple";
                                                                            components: readonly [{
                                                                                name: "loanAddress";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "highestBid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "highestBidder";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "duration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "startTime";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "originator";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "lastBidTime";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "getTriggerFee";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "getValidLoanContracts";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address[]";
                                                                            type: "address[]";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_asset";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_duration";
                                                                            internalType: "uint96";
                                                                            type: "uint96";
                                                                        }, {
                                                                            name: "_originator";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "liquidateLoan";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                        name: "onERC721Received";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "bytes4";
                                                                            type: "bytes4";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "view";
                                                                        type: "function";
                                                                        inputs: readonly [];
                                                                        name: "owner";
                                                                        outputs: readonly [{
                                                                            name: "";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_bid";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "placeBid";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_loanContract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "removeLoanContract";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "_contract";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }, {
                                                                            name: "_tokenId";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }, {
                                                                            name: "_loan";
                                                                            internalType: "bytes";
                                                                            type: "bytes";
                                                                        }];
                                                                        name: "settleAuction";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "newOwner";
                                                                            internalType: "address";
                                                                            type: "address";
                                                                        }];
                                                                        name: "transferOwnership";
                                                                        outputs: readonly [];
                                                                    }, {
                                                                        stateMutability: "nonpayable";
                                                                        type: "function";
                                                                        inputs: readonly [{
                                                                            name: "triggerFee";
                                                                            internalType: "uint256";
                                                                            type: "uint256";
                                                                        }];
                                                                        name: "updateTriggerFee";
                                                                        outputs: readonly [];
                                                                    }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated")[]
                                                                        ? TFunctionName[number]
                                                                        : TFunctionName>
                                                                    +
                                                                  • Defined in src/contracts/BaseContract.ts:34
                                                                  • @@ -23,7 +23,7 @@

                                                                    Hierarchy

                                                                    • AllV5
                                                                    +
                                                                  • Defined in src/contracts/AllV5.ts:11
                                                                  • @@ -69,7 +69,7 @@
                                                                    walletClientReturns AllV5
                                                                    +
                                                                  • Defined in src/contracts/AllV5.ts:12
                                                                  • Methods

                                                                    @@ -93,7 +93,7 @@
                                                                    bidauction: Auction

                                                                    Returns Promise<{
                                                                        txHash: `0x${string}`;
                                                                        waitTxInBlock: (() => Promise<{
                                                                            collection: `0x${string}`;
                                                                            tokenId: bigint;
                                                                            newBidder: `0x${string}`;
                                                                            bid: bigint;
                                                                            loanAddress: `0x${string}`;
                                                                            loanId: bigint;
                                                                        }>);
                                                                    }>

                                                                    +
                                                                  • Defined in src/contracts/AllV5.ts:24
                                                                  • +
                                                                  • Defined in src/contracts/AllV5.ts:54
                                                                    • @@ -109,7 +109,7 @@
                                                                    +
                                                                  • Defined in src/contracts/AllV5.ts:58
                                                                    • @@ -127,7 +127,7 @@
                                                                      auctionloan: LoanV5

                                                                    Returns Promise<{
                                                                        txHash: `0x${string}`;
                                                                        waitTxInBlock: (() => Promise<{
                                                                            loanContract: `0x${string}`;
                                                                            loanId: bigint;
                                                                            auctionContract: `0x${string}`;
                                                                            tokenId: bigint;
                                                                            asset: `0x${string}`;
                                                                            proceeds: bigint;
                                                                            settler: `0x${string}`;
                                                                            triggerFee: bigint;
                                                                        }>);
                                                                    }>

                                                                    +
                                                                  • Defined in src/contracts/AllV5.ts:62
                                                                  • Properties

                                                                    @@ -135,13 +135,13 @@
                                                                    +
                                                                  • Defined in src/contracts/BaseContract.ts:21
                                                                  • address: `0x${string}`
                                                                    +
                                                                  • Defined in src/contracts/BaseContract.ts:22
                                                                  • bcClient: {}
                                                                    @@ -150,7 +150,7 @@

                                                                    Type declaration

                                                                      +
                                                                    • Defined in src/contracts/BaseContract.ts:23
                                                                    • wallet: {}
                                                                      @@ -159,13 +159,13 @@

                                                                      Type declaration

                                                                        +
                                                                      • Defined in src/contracts/BaseContract.ts:24
                                                                      • contract: GetContractReturnType<readonly [{
                                                                            stateMutability: "nonpayable";
                                                                            type: "constructor";
                                                                            inputs: readonly [{
                                                                                name: "liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "currencyManager";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "collectionManager";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "AddressZeroError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "AuctionAlreadyInProgressError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_expiration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                            name: "AuctionNotOverError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_expiration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                            name: "AuctionOverError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CollectionNotWhitelistedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CouldNotModifyValidLoansError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CurrencyNotWhitelistedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "InvalidHashAuctionError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "InvalidTriggerFee";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "LoanNotAcceptedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_minBid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "MinBidError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_owner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "NFTNotOwnedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "NoBidsError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "ZeroAddressError";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "auctionContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "proceeds";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "settler";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "AuctionSettled";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "collection";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "newBidder";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "bid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanAddress";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "BidPlaced";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LiquidationDistributorUpdated";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanContractAdded";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanContractRemoved";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "collection";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanLiquidationStarted";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "user";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: true;
                                                                            }, {
                                                                                name: "newOwner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: true;
                                                                            }];
                                                                            name: "OwnershipTransferred";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "TriggerFeeUpdated";
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "MAX_TRIGGER_FEE";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "MIN_INCREMENT_BPS";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "addLoanContract";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "getAuctionHash";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes32";
                                                                                type: "bytes32";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getLiquidationDistributor";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getTriggerFee";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getValidLoanContracts";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address[]";
                                                                                type: "address[]";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_duration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "_originator";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "liquidateLoan";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes";
                                                                                type: "bytes";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "bytes";
                                                                                type: "bytes";
                                                                            }];
                                                                            name: "onERC721Received";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes4";
                                                                                type: "bytes4";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "owner";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }, {
                                                                                name: "_bid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "placeBid";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "removeLoanContract";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }, {
                                                                                name: "_loan";
                                                                                internalType: "struct IMultiSourceLoan.Loan";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "borrower";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "nftCollateralTokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "nftCollateralAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "principalAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "principalAmount";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "source";
                                                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                                                    type: "tuple[]";
                                                                                    components: readonly [{
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "lender";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "accruedInterest";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "aprBps";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                            }];
                                                                            name: "settleAuction";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "newOwner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "transferOwnership";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "__liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "updateLiquidationDistributor";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "updateTriggerFee";
                                                                            outputs: readonly [];
                                                                        }], {} | {}>
                                                                        +
                                                                      • Defined in src/contracts/BaseContract.ts:25
                                                                      • safeContractWrite: {
                                                                            transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                            addLoanContract: ((args, options?) => Promise<`0x${string}`>);
                                                                            liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                            onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                            placeBid: ((args, options?) => Promise<`0x${string}`>);
                                                                            removeLoanContract: ((args, options?) => Promise<`0x${string}`>);
                                                                            settleAuction: ((args, options?) => Promise<`0x${string}`>);
                                                                            updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
                                                                            updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>);
                                                                        }
                                                                        @@ -336,7 +336,7 @@
                                                                        Optional Returns Promise<`0x${string}`>
                                                                        +
                                                                      • Defined in src/contracts/BaseContract.ts:27
                                                                      • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                            stateMutability: "nonpayable";
                                                                            type: "constructor";
                                                                            inputs: readonly [{
                                                                                name: "liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "currencyManager";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "collectionManager";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "AddressZeroError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "AuctionAlreadyInProgressError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_expiration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                            name: "AuctionNotOverError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_expiration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                            name: "AuctionOverError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CollectionNotWhitelistedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CouldNotModifyValidLoansError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CurrencyNotWhitelistedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "InvalidHashAuctionError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "InvalidTriggerFee";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "LoanNotAcceptedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_minBid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "MinBidError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_owner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "NFTNotOwnedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "NoBidsError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "ZeroAddressError";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "auctionContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "proceeds";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "settler";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "AuctionSettled";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "collection";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "newBidder";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "bid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanAddress";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "BidPlaced";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LiquidationDistributorUpdated";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanContractAdded";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanContractRemoved";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "collection";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanLiquidationStarted";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "user";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: true;
                                                                            }, {
                                                                                name: "newOwner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: true;
                                                                            }];
                                                                            name: "OwnershipTransferred";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "TriggerFeeUpdated";
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "MAX_TRIGGER_FEE";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "MIN_INCREMENT_BPS";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "addLoanContract";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "getAuctionHash";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes32";
                                                                                type: "bytes32";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getLiquidationDistributor";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getTriggerFee";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getValidLoanContracts";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address[]";
                                                                                type: "address[]";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_duration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "_originator";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "liquidateLoan";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes";
                                                                                type: "bytes";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "bytes";
                                                                                type: "bytes";
                                                                            }];
                                                                            name: "onERC721Received";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes4";
                                                                                type: "bytes4";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "owner";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }, {
                                                                                name: "_bid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "placeBid";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "removeLoanContract";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }, {
                                                                                name: "_loan";
                                                                                internalType: "struct IMultiSourceLoan.Loan";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "borrower";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "nftCollateralTokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "nftCollateralAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "principalAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "principalAmount";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "source";
                                                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                                                    type: "tuple[]";
                                                                                    components: readonly [{
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "lender";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "accruedInterest";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "aprBps";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                            }];
                                                                            name: "settleAuction";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "newOwner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "transferOwnership";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "__liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "updateLiquidationDistributor";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "updateTriggerFee";
                                                                            outputs: readonly [];
                                                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated")[]
                                                                            ? TFunctionName[number]
                                                                            : TFunctionName>)
                                                                        @@ -362,7 +362,7 @@
                                                                        logs: Returns ParseEventLogsReturnType<readonly [{
                                                                            stateMutability: "nonpayable";
                                                                            type: "constructor";
                                                                            inputs: readonly [{
                                                                                name: "liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "currencyManager";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "collectionManager";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "AddressZeroError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "AuctionAlreadyInProgressError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_expiration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                            name: "AuctionNotOverError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_expiration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }];
                                                                            name: "AuctionOverError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CollectionNotWhitelistedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CouldNotModifyValidLoansError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "CurrencyNotWhitelistedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "InvalidHashAuctionError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "InvalidTriggerFee";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "LoanNotAcceptedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_minBid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "MinBidError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [{
                                                                                name: "_owner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "NFTNotOwnedError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "NoBidsError";
                                                                        }, {
                                                                            type: "error";
                                                                            inputs: readonly [];
                                                                            name: "ZeroAddressError";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "auctionContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "proceeds";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "settler";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "AuctionSettled";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "collection";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "newBidder";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "bid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanAddress";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "BidPlaced";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LiquidationDistributorUpdated";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanContractAdded";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "loan";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanContractRemoved";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "collection";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }, {
                                                                                name: "auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                indexed: false;
                                                                            }];
                                                                            name: "LoanLiquidationStarted";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "user";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: true;
                                                                            }, {
                                                                                name: "newOwner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                                indexed: true;
                                                                            }];
                                                                            name: "OwnershipTransferred";
                                                                        }, {
                                                                            type: "event";
                                                                            anonymous: false;
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                                indexed: false;
                                                                            }];
                                                                            name: "TriggerFeeUpdated";
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "MAX_TRIGGER_FEE";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "MIN_INCREMENT_BPS";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "addLoanContract";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "getAuctionHash";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes32";
                                                                                type: "bytes32";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getLiquidationDistributor";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getTriggerFee";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "getValidLoanContracts";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address[]";
                                                                                type: "address[]";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_asset";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_duration";
                                                                                internalType: "uint96";
                                                                                type: "uint96";
                                                                            }, {
                                                                                name: "_originator";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "liquidateLoan";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes";
                                                                                type: "bytes";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "";
                                                                                internalType: "bytes";
                                                                                type: "bytes";
                                                                            }];
                                                                            name: "onERC721Received";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "bytes4";
                                                                                type: "bytes4";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "view";
                                                                            type: "function";
                                                                            inputs: readonly [];
                                                                            name: "owner";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_contract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }, {
                                                                                name: "_tokenId";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }, {
                                                                                name: "_auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }, {
                                                                                name: "_bid";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "placeBid";
                                                                            outputs: readonly [{
                                                                                name: "";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_loanContract";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "removeLoanContract";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "_auction";
                                                                                internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "highestBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "lastBidTime";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                            }, {
                                                                                name: "_loan";
                                                                                internalType: "struct IMultiSourceLoan.Loan";
                                                                                type: "tuple";
                                                                                components: readonly [{
                                                                                    name: "borrower";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "nftCollateralTokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "nftCollateralAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "principalAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "principalAmount";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "startTime";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "duration";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "source";
                                                                                    internalType: "struct IMultiSourceLoan.Source[]";
                                                                                    type: "tuple[]";
                                                                                    components: readonly [{
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "lender";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "accruedInterest";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "aprBps";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                            }];
                                                                            name: "settleAuction";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "newOwner";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "transferOwnership";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "__liquidationDistributor";
                                                                                internalType: "address";
                                                                                type: "address";
                                                                            }];
                                                                            name: "updateLiquidationDistributor";
                                                                            outputs: readonly [];
                                                                        }, {
                                                                            stateMutability: "nonpayable";
                                                                            type: "function";
                                                                            inputs: readonly [{
                                                                                name: "triggerFee";
                                                                                internalType: "uint256";
                                                                                type: "uint256";
                                                                            }];
                                                                            name: "updateTriggerFee";
                                                                            outputs: readonly [];
                                                                        }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated")[]
                                                                            ? TFunctionName[number]
                                                                            : TFunctionName>
                                                                        +
                                                                      • Defined in src/contracts/BaseContract.ts:34
                                                                      • @@ -23,7 +23,7 @@

                                                                        Hierarchy

                                                                        • AllV6
                                                                        +
                                                                      • Defined in src/contracts/AllV6.ts:11
                                                                      • @@ -69,7 +69,7 @@
                                                                        walletClientReturns AllV6
                                                                        +
                                                                      • Defined in src/contracts/AllV6.ts:12
                                                                      • Methods

                                                                        @@ -93,7 +93,7 @@
                                                                        bidauction: Auction

                                                                        Returns Promise<{
                                                                            txHash: `0x${string}`;
                                                                            waitTxInBlock: (() => Promise<{
                                                                                collection: `0x${string}`;
                                                                                tokenId: bigint;
                                                                                newBidder: `0x${string}`;
                                                                                bid: bigint;
                                                                                loanAddress: `0x${string}`;
                                                                                loanId: bigint;
                                                                            }>);
                                                                        }>

                                                                        +
                                                                      • Defined in src/contracts/AllV6.ts:24
                                                                        • @@ -109,7 +109,7 @@
                                                                          __namedParameters: auction: Auction

                                                                        Returns Promise<number>

                                                                        +
                                                                      • Defined in src/contracts/AllV6.ts:54
                                                                        • @@ -127,7 +127,7 @@
                                                                          auctionloan: LoanV6

                                                                        Returns Promise<{
                                                                            txHash: `0x${string}`;
                                                                            waitTxInBlock: (() => Promise<{
                                                                                loanAddress: `0x${string}`;
                                                                                loanId: bigint;
                                                                                nftAddress: `0x${string}`;
                                                                                tokenId: bigint;
                                                                                largestTrancheIdx: bigint;
                                                                            }>);
                                                                        }>

                                                                        +
                                                                      • Defined in src/contracts/AllV6.ts:63
                                                                        • @@ -145,7 +145,7 @@
                                                                          auctionloan: LoanV6

                                                                        Returns Promise<{
                                                                            txHash: `0x${string}`;
                                                                            waitTxInBlock: (() => Promise<{
                                                                                loanContract: `0x${string}`;
                                                                                loanId: bigint;
                                                                                collection: `0x${string}`;
                                                                                tokenId: bigint;
                                                                                asset: `0x${string}`;
                                                                                proceeds: bigint;
                                                                                settler: `0x${string}`;
                                                                                triggerFee: bigint;
                                                                            }>);
                                                                        }>

                                                                        +
                                                                      • Defined in src/contracts/AllV6.ts:84
                                                                      • Properties

                                                                        @@ -153,13 +153,13 @@
                                                                        +
                                                                      • Defined in src/contracts/BaseContract.ts:21
                                                                      • address: `0x${string}`
                                                                        +
                                                                      • Defined in src/contracts/BaseContract.ts:22
                                                                      • bcClient: {}
                                                                        @@ -168,7 +168,7 @@

                                                                        Type declaration

                                                                          +
                                                                        • Defined in src/contracts/BaseContract.ts:23
                                                                        • wallet: {}
                                                                          @@ -177,13 +177,13 @@

                                                                          Type declaration

                                                                            +
                                                                          • Defined in src/contracts/BaseContract.ts:24
                                                                          • contract: GetContractReturnType<readonly [{
                                                                                type: "constructor";
                                                                                inputs: readonly [{
                                                                                    name: "liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "currencyManager";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "collectionManager";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanManagerRegistry";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "maxExtension";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "AddressZeroError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "AuctionAlreadyInProgressError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_expiration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                name: "AuctionNotOverError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_expiration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                name: "AuctionOverError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CollectionNotWhitelistedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CouldNotModifyValidLoansError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CurrencyNotWhitelistedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "InvalidHashAuctionError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "InvalidInputError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "InvalidTriggerFee";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "LoanNotAcceptedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_minBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "MinBidError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_owner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "NFTNotOwnedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "NoBidsError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "NotMainLenderError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "timeLimit";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "OptionToBuyExpiredError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "timeLimit";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "OptionToBuyStilValidError";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "proceeds";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "settler";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "AuctionSettled";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "largestTrancheIdx";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "AuctionSettledWithBuyout";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "newBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "bid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "BidPlaced";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LiquidationDistributorUpdated";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanContractAdded";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanContractRemoved";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanLiquidationStarted";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "user";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: true;
                                                                                }, {
                                                                                    name: "newOwner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: true;
                                                                                }];
                                                                                name: "OwnershipTransferred";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "TimeForMainLenderToBuyUpdated";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "TriggerFeeUpdated";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MAX_TRIGGER_FEE";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MIN_INCREMENT_BPS";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "addLoanContract";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "getAuctionHash";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes32";
                                                                                    type: "bytes32";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getLiquidationDistributor";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getLoanManagerRegistry";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "contract ILoanManagerRegistry";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getMaxExtension";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getTimeForMainLenderToBuy";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getTriggerFee";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getValidLoanContracts";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address[]";
                                                                                    type: "address[]";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "_minBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "liquidateLoan";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes";
                                                                                    type: "bytes";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "bytes";
                                                                                    type: "bytes";
                                                                                }];
                                                                                name: "onERC721Received";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes4";
                                                                                    type: "bytes4";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "owner";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_bid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "placeBid";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "removeLoanContract";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "__timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "setTimeForMainLenderToBuy";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_loan";
                                                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "borrower";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "nftCollateralTokenId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "nftCollateralAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "tranche";
                                                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                        type: "tuple[]";
                                                                                        components: readonly [{
                                                                                            name: "loanId";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "floor";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "principalAmount";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "lender";
                                                                                            internalType: "address";
                                                                                            type: "address";
                                                                                        }, {
                                                                                            name: "accruedInterest";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "startTime";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "aprBps";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }];
                                                                                    }, {
                                                                                        name: "protocolFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                                name: "settleAuction";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_loan";
                                                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "borrower";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "nftCollateralTokenId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "nftCollateralAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "tranche";
                                                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                        type: "tuple[]";
                                                                                        components: readonly [{
                                                                                            name: "loanId";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "floor";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "principalAmount";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "lender";
                                                                                            internalType: "address";
                                                                                            type: "address";
                                                                                        }, {
                                                                                            name: "accruedInterest";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "startTime";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "aprBps";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }];
                                                                                    }, {
                                                                                        name: "protocolFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                                name: "settleWithBuyout";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "newOwner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "transferOwnership";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "__liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "updateLiquidationDistributor";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "updateTriggerFee";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }], {} | {}>
                                                                            +
                                                                          • Defined in src/contracts/BaseContract.ts:25
                                                                          • safeContractWrite: {
                                                                                transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                                addLoanContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                                placeBid: ((args, options?) => Promise<`0x${string}`>);
                                                                                removeLoanContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                settleAuction: ((args, options?) => Promise<`0x${string}`>);
                                                                                updateTriggerFee: ((args, options?) => Promise<`0x${string}`>);
                                                                                updateLiquidationDistributor: ((args, options?) => Promise<`0x${string}`>);
                                                                                setTimeForMainLenderToBuy: ((args, options?) => Promise<`0x${string}`>);
                                                                                settleWithBuyout: ((args, options?) => Promise<`0x${string}`>);
                                                                            }
                                                                            @@ -390,7 +390,7 @@
                                                                            Optional Returns Promise<`0x${string}`>
                                                                            +
                                                                          • Defined in src/contracts/BaseContract.ts:27
                                                                          • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                                type: "constructor";
                                                                                inputs: readonly [{
                                                                                    name: "liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "currencyManager";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "collectionManager";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanManagerRegistry";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "maxExtension";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "AddressZeroError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "AuctionAlreadyInProgressError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_expiration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                name: "AuctionNotOverError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_expiration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                name: "AuctionOverError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CollectionNotWhitelistedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CouldNotModifyValidLoansError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CurrencyNotWhitelistedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "InvalidHashAuctionError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "InvalidInputError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "InvalidTriggerFee";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "LoanNotAcceptedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_minBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "MinBidError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_owner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "NFTNotOwnedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "NoBidsError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "NotMainLenderError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "timeLimit";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "OptionToBuyExpiredError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "timeLimit";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "OptionToBuyStilValidError";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "proceeds";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "settler";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "AuctionSettled";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "largestTrancheIdx";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "AuctionSettledWithBuyout";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "newBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "bid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "BidPlaced";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LiquidationDistributorUpdated";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanContractAdded";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanContractRemoved";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanLiquidationStarted";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "user";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: true;
                                                                                }, {
                                                                                    name: "newOwner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: true;
                                                                                }];
                                                                                name: "OwnershipTransferred";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "TimeForMainLenderToBuyUpdated";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "TriggerFeeUpdated";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MAX_TRIGGER_FEE";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MIN_INCREMENT_BPS";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "addLoanContract";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "getAuctionHash";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes32";
                                                                                    type: "bytes32";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getLiquidationDistributor";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getLoanManagerRegistry";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "contract ILoanManagerRegistry";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getMaxExtension";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getTimeForMainLenderToBuy";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getTriggerFee";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getValidLoanContracts";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address[]";
                                                                                    type: "address[]";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "_minBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "liquidateLoan";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes";
                                                                                    type: "bytes";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "bytes";
                                                                                    type: "bytes";
                                                                                }];
                                                                                name: "onERC721Received";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes4";
                                                                                    type: "bytes4";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "owner";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_bid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "placeBid";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "removeLoanContract";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "__timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "setTimeForMainLenderToBuy";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_loan";
                                                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "borrower";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "nftCollateralTokenId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "nftCollateralAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "tranche";
                                                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                        type: "tuple[]";
                                                                                        components: readonly [{
                                                                                            name: "loanId";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "floor";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "principalAmount";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "lender";
                                                                                            internalType: "address";
                                                                                            type: "address";
                                                                                        }, {
                                                                                            name: "accruedInterest";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "startTime";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "aprBps";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }];
                                                                                    }, {
                                                                                        name: "protocolFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                                name: "settleAuction";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_loan";
                                                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "borrower";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "nftCollateralTokenId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "nftCollateralAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "tranche";
                                                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                        type: "tuple[]";
                                                                                        components: readonly [{
                                                                                            name: "loanId";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "floor";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "principalAmount";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "lender";
                                                                                            internalType: "address";
                                                                                            type: "address";
                                                                                        }, {
                                                                                            name: "accruedInterest";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "startTime";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "aprBps";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }];
                                                                                    }, {
                                                                                        name: "protocolFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                                name: "settleWithBuyout";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "newOwner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "transferOwnership";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "__liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "updateLiquidationDistributor";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "updateTriggerFee";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
                                                                                ? TFunctionName[number]
                                                                                : TFunctionName>)
                                                                            @@ -416,7 +416,7 @@
                                                                            logs: Returns ParseEventLogsReturnType<readonly [{
                                                                                type: "constructor";
                                                                                inputs: readonly [{
                                                                                    name: "liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "currencyManager";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "collectionManager";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "loanManagerRegistry";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "maxExtension";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "AddressZeroError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "AuctionAlreadyInProgressError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_expiration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                name: "AuctionNotOverError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_expiration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                name: "AuctionOverError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CollectionNotWhitelistedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CouldNotModifyValidLoansError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "CurrencyNotWhitelistedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "InvalidHashAuctionError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "InvalidInputError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "InvalidTriggerFee";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "LoanNotAcceptedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_minBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "MinBidError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "_owner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "NFTNotOwnedError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "NoBidsError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [];
                                                                                name: "NotMainLenderError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "timeLimit";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "OptionToBuyExpiredError";
                                                                            }, {
                                                                                type: "error";
                                                                                inputs: readonly [{
                                                                                    name: "timeLimit";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "OptionToBuyStilValidError";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "proceeds";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "settler";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "AuctionSettled";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "largestTrancheIdx";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "AuctionSettledWithBuyout";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "newBidder";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "bid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "BidPlaced";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LiquidationDistributorUpdated";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanContractAdded";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "loan";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanContractRemoved";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "collection";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }, {
                                                                                    name: "auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "LoanLiquidationStarted";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "user";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: true;
                                                                                }, {
                                                                                    name: "newOwner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                    indexed: true;
                                                                                }];
                                                                                name: "OwnershipTransferred";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "TimeForMainLenderToBuyUpdated";
                                                                            }, {
                                                                                type: "event";
                                                                                anonymous: false;
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                    indexed: false;
                                                                                }];
                                                                                name: "TriggerFeeUpdated";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MAX_TRIGGER_FEE";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "MIN_INCREMENT_BPS";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "addLoanContract";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "getAuctionHash";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes32";
                                                                                    type: "bytes32";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getLiquidationDistributor";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getLoanManagerRegistry";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "contract ILoanManagerRegistry";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getMaxExtension";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getTimeForMainLenderToBuy";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getTriggerFee";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "getValidLoanContracts";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address[]";
                                                                                    type: "address[]";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_asset";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_duration";
                                                                                    internalType: "uint96";
                                                                                    type: "uint96";
                                                                                }, {
                                                                                    name: "_minBid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_originator";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "liquidateLoan";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes";
                                                                                    type: "bytes";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "";
                                                                                    internalType: "bytes";
                                                                                    type: "bytes";
                                                                                }];
                                                                                name: "onERC721Received";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "bytes4";
                                                                                    type: "bytes4";
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [];
                                                                                name: "owner";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                stateMutability: "view";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_bid";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "placeBid";
                                                                                outputs: readonly [{
                                                                                    name: "";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_loanContract";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "removeLoanContract";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "__timeForMainLenderToBuy";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "setTimeForMainLenderToBuy";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_loan";
                                                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "borrower";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "nftCollateralTokenId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "nftCollateralAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "tranche";
                                                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                        type: "tuple[]";
                                                                                        components: readonly [{
                                                                                            name: "loanId";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "floor";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "principalAmount";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "lender";
                                                                                            internalType: "address";
                                                                                            type: "address";
                                                                                        }, {
                                                                                            name: "accruedInterest";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "startTime";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "aprBps";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }];
                                                                                    }, {
                                                                                        name: "protocolFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                                name: "settleAuction";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "_nftAddress";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }, {
                                                                                    name: "_tokenId";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }, {
                                                                                    name: "_auction";
                                                                                    internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "loanAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "loanId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "triggerFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "minBid";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "highestBidder";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "asset";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }, {
                                                                                        name: "originator";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "lastBidTime";
                                                                                        internalType: "uint96";
                                                                                        type: "uint96";
                                                                                    }];
                                                                                }, {
                                                                                    name: "_loan";
                                                                                    internalType: "struct IMultiSourceLoan.Loan";
                                                                                    type: "tuple";
                                                                                    components: readonly [{
                                                                                        name: "borrower";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "nftCollateralTokenId";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "nftCollateralAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAddress";
                                                                                        internalType: "address";
                                                                                        type: "address";
                                                                                    }, {
                                                                                        name: "principalAmount";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "startTime";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "duration";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }, {
                                                                                        name: "tranche";
                                                                                        internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                        type: "tuple[]";
                                                                                        components: readonly [{
                                                                                            name: "loanId";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "floor";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "principalAmount";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "lender";
                                                                                            internalType: "address";
                                                                                            type: "address";
                                                                                        }, {
                                                                                            name: "accruedInterest";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "startTime";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }, {
                                                                                            name: "aprBps";
                                                                                            internalType: "uint256";
                                                                                            type: "uint256";
                                                                                        }];
                                                                                    }, {
                                                                                        name: "protocolFee";
                                                                                        internalType: "uint256";
                                                                                        type: "uint256";
                                                                                    }];
                                                                                }];
                                                                                name: "settleWithBuyout";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "newOwner";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "transferOwnership";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "__liquidationDistributor";
                                                                                    internalType: "address";
                                                                                    type: "address";
                                                                                }];
                                                                                name: "updateLiquidationDistributor";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }, {
                                                                                type: "function";
                                                                                inputs: readonly [{
                                                                                    name: "triggerFee";
                                                                                    internalType: "uint256";
                                                                                    type: "uint256";
                                                                                }];
                                                                                name: "updateTriggerFee";
                                                                                outputs: readonly [];
                                                                                stateMutability: "nonpayable";
                                                                            }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AuctionSettled" | "BidPlaced" | "LoanContractAdded" | "LoanContractRemoved" | "LoanLiquidationStarted" | "TriggerFeeUpdated" | "LiquidationDistributorUpdated" | "AuctionSettledWithBuyout" | "TimeForMainLenderToBuyUpdated")[]
                                                                                ? TFunctionName[number]
                                                                                : TFunctionName>
                                                                            +
                                                                          • Defined in src/contracts/BaseContract.ts:34
                                                                          • @@ -21,7 +21,7 @@

                                                                            Hierarchy

                                                                            • Api
                                                                            +
                                                                          • Defined in src/api/index.ts:34
                                                                          • @@ -34,8 +34,7 @@

                                                                            Constructors

                                                                            Methods

                                                                            Returns Api

                                                                            +
                                                                          • Defined in src/api/index.ts:55
                                                                          • Methods

                                                                            @@ -94,33 +93,20 @@

                                                                            Parameters

                                                                            offerInput: SingleNftSignedOfferInput

                                                                            Returns Promise<{
                                                                                aprBps: bigint;
                                                                                borrowerAddress: `0x${string}`;
                                                                                capacity: bigint;
                                                                                contractAddress: `0x${string}`;
                                                                                duration: bigint;
                                                                                expirationTime: bigint;
                                                                                fee: bigint;
                                                                                lenderAddress: `0x${string}`;
                                                                                maxSeniorRepayment?: InputMaybe<bigint>;
                                                                                maxTrancheFloor?: InputMaybe<bigint>;
                                                                                nftId: number;
                                                                                offerHash: `0x${string}`;
                                                                                offerId: bigint;
                                                                                offerValidators: OfferValidatorInput[];
                                                                                principalAddress: `0x${string}`;
                                                                                principalAmount: bigint;
                                                                                requiresLiquidation?: InputMaybe<boolean>;
                                                                                signature: `0x${string}`;
                                                                                signerAddress?: InputMaybe<`0x${string}`>;
                                                                                id: string;
                                                                                nftCollateralAddress: `0x${string}`;
                                                                                nftCollateralTokenId: bigint;
                                                                            }>

                                                                            -
                                                                            - +
                                                                          • Defined in src/api/index.ts:79
                                                                          • +
                                                                            +
                                                                              - +
                                                                            • Parameters

                                                                              -

                                                                              Returns Promise<MessageDefinition<{
                                                                                  string: undefined;
                                                                                  address: undefined;
                                                                                  uint16: undefined;
                                                                                  bool: undefined;
                                                                                  uint256: undefined;
                                                                                  uint96: undefined;
                                                                                  bytes: undefined;
                                                                                  bytes4: undefined;
                                                                                  bytes32: undefined;
                                                                                  uint48: undefined;
                                                                                  uint128: undefined;
                                                                                  uint8: undefined;
                                                                                  int256: undefined;
                                                                                  uint64: undefined;
                                                                                  uint40: undefined;
                                                                                  bytes1: undefined;
                                                                                  bytes2: undefined;
                                                                                  bytes15: undefined;
                                                                                  bytes3: undefined;
                                                                                  bytes8: undefined;
                                                                                  bytes6: undefined;
                                                                                  bytes9: undefined;
                                                                                  bytes5: undefined;
                                                                                  bytes7: undefined;
                                                                                  bytes14: undefined;
                                                                                  bytes16: undefined;
                                                                                  bytes22: undefined;
                                                                                  bytes11: undefined;
                                                                                  bytes25: undefined;
                                                                                  bytes20: undefined;
                                                                                  bytes24: undefined;
                                                                                  bytes10: undefined;
                                                                                  bytes26: undefined;
                                                                                  bytes21: undefined;
                                                                                  bytes13: undefined;
                                                                                  bytes19: undefined;
                                                                                  bytes30: undefined;
                                                                                  bytes18: undefined;
                                                                                  bytes23: undefined;
                                                                                  bytes28: undefined;
                                                                                  bytes29: undefined;
                                                                                  bytes17: undefined;
                                                                                  bytes12: undefined;
                                                                                  bytes27: undefined;
                                                                                  bytes31: undefined;
                                                                                  int8: undefined;
                                                                                  int16: undefined;
                                                                                  int24: undefined;
                                                                                  int48: undefined;
                                                                                  int32: undefined;
                                                                                  int40: undefined;
                                                                                  int56: undefined;
                                                                                  int64: undefined;
                                                                                  int72: undefined;
                                                                                  int80: undefined;
                                                                                  int88: undefined;
                                                                                  int96: undefined;
                                                                                  int104: undefined;
                                                                                  int112: undefined;
                                                                                  int120: undefined;
                                                                                  int128: undefined;
                                                                                  int136: undefined;
                                                                                  int144: undefined;
                                                                                  int152: undefined;
                                                                                  int160: undefined;
                                                                                  int168: undefined;
                                                                                  int176: undefined;
                                                                                  int184: undefined;
                                                                                  int192: undefined;
                                                                                  int200: undefined;
                                                                                  int208: undefined;
                                                                                  int216: undefined;
                                                                                  int224: undefined;
                                                                                  int232: undefined;
                                                                                  int240: undefined;
                                                                                  int248: undefined;
                                                                                  uint24: undefined;
                                                                                  uint32: undefined;
                                                                                  uint56: undefined;
                                                                                  uint72: undefined;
                                                                                  uint80: undefined;
                                                                                  uint88: undefined;
                                                                                  uint104: undefined;
                                                                                  uint112: undefined;
                                                                                  uint120: undefined;
                                                                                  uint136: undefined;
                                                                                  uint144: undefined;
                                                                                  uint152: undefined;
                                                                                  uint160: undefined;
                                                                                  uint168: undefined;
                                                                                  uint176: undefined;
                                                                                  uint184: undefined;
                                                                                  uint192: undefined;
                                                                                  uint200: undefined;
                                                                                  uint208: undefined;
                                                                                  uint216: undefined;
                                                                                  uint224: undefined;
                                                                                  uint232: undefined;
                                                                                  uint240: undefined;
                                                                                  uint248: undefined;
                                                                              }, string, string, {
                                                                                  string: undefined | {};
                                                                                  address: undefined | {};
                                                                                  uint16: undefined | {};
                                                                                  bool: undefined | {};
                                                                                  uint256: undefined | {};
                                                                                  uint96: undefined | {};
                                                                                  bytes: undefined | {};
                                                                                  bytes4: undefined | {};
                                                                                  bytes32: undefined | {};
                                                                                  uint48: undefined | {};
                                                                                  uint128: undefined | {};
                                                                                  uint8: undefined | {};
                                                                                  int256: undefined | {};
                                                                                  uint64: undefined | {};
                                                                                  uint40: undefined | {};
                                                                                  bytes1: undefined | {};
                                                                                  bytes2: undefined | {};
                                                                                  bytes15: undefined | {};
                                                                                  bytes3: undefined | {};
                                                                                  bytes8: undefined | {};
                                                                                  bytes6: undefined | {};
                                                                                  bytes9: undefined | {};
                                                                                  bytes5: undefined | {};
                                                                                  bytes7: undefined | {};
                                                                                  bytes14: undefined | {};
                                                                                  bytes16: undefined | {};
                                                                                  bytes22: undefined | {};
                                                                                  bytes11: undefined | {};
                                                                                  bytes25: undefined | {};
                                                                                  bytes20: undefined | {};
                                                                                  bytes24: undefined | {};
                                                                                  bytes10: undefined | {};
                                                                                  bytes26: undefined | {};
                                                                                  bytes21: undefined | {};
                                                                                  bytes13: undefined | {};
                                                                                  bytes19: undefined | {};
                                                                                  bytes30: undefined | {};
                                                                                  bytes18: undefined | {};
                                                                                  bytes23: undefined | {};
                                                                                  bytes28: undefined | {};
                                                                                  bytes29: undefined | {};
                                                                                  bytes17: undefined | {};
                                                                                  bytes12: undefined | {};
                                                                                  bytes27: undefined | {};
                                                                                  bytes31: undefined | {};
                                                                                  int8: undefined | {};
                                                                                  int16: undefined | {};
                                                                                  int24: undefined | {};
                                                                                  int48: undefined | {};
                                                                                  int32: undefined | {};
                                                                                  int40: undefined | {};
                                                                                  int56: undefined | {};
                                                                                  int64: undefined | {};
                                                                                  int72: undefined | {};
                                                                                  int80: undefined | {};
                                                                                  int88: undefined | {};
                                                                                  int96: undefined | {};
                                                                                  int104: undefined | {};
                                                                                  int112: undefined | {};
                                                                                  int120: undefined | {};
                                                                                  int128: undefined | {};
                                                                                  int136: undefined | {};
                                                                                  int144: undefined | {};
                                                                                  int152: undefined | {};
                                                                                  int160: undefined | {};
                                                                                  int168: undefined | {};
                                                                                  int176: undefined | {};
                                                                                  int184: undefined | {};
                                                                                  int192: undefined | {};
                                                                                  int200: undefined | {};
                                                                                  int208: undefined | {};
                                                                                  int216: undefined | {};
                                                                                  int224: undefined | {};
                                                                                  int232: undefined | {};
                                                                                  int240: undefined | {};
                                                                                  int248: undefined | {};
                                                                                  uint24: undefined | {};
                                                                                  uint32: undefined | {};
                                                                                  uint56: undefined | {};
                                                                                  uint72: undefined | {};
                                                                                  uint80: undefined | {};
                                                                                  uint88: undefined | {};
                                                                                  uint104: undefined | {};
                                                                                  uint112: undefined | {};
                                                                                  uint120: undefined | {};
                                                                                  uint136: undefined | {};
                                                                                  uint144: undefined | {};
                                                                                  uint152: undefined | {};
                                                                                  uint160: undefined | {};
                                                                                  uint168: undefined | {};
                                                                                  uint176: undefined | {};
                                                                                  uint184: undefined | {};
                                                                                  uint192: undefined | {};
                                                                                  uint200: undefined | {};
                                                                                  uint208: undefined | {};
                                                                                  uint216: undefined | {};
                                                                                  uint224: undefined | {};
                                                                                  uint232: undefined | {};
                                                                                  uint240: undefined | {};
                                                                                  uint248: undefined | {};
                                                                              }, {}>>

                                                                            -
                                                                            - -
                                                                              - -
                                                                            • -
                                                                              -

                                                                              Parameters

                                                                              -
                                                                              -

                                                                              Returns Promise<{
                                                                                  signedOrderInput: NftSignedOrderInput;
                                                                                  __typename?: "SingleNFTOrder";
                                                                                  id: string;
                                                                                  status: string;
                                                                              }>

                                                                            +
                                                                          • Defined in src/api/index.ts:95
                                                                          • Returns Promise<{
                                                                                aprBps: bigint;
                                                                                borrowerAddress: `0x${string}`;
                                                                                capacity: bigint;
                                                                                collectionId: number;
                                                                                contractAddress: `0x${string}`;
                                                                                duration: bigint;
                                                                                expirationTime: bigint;
                                                                                fee: bigint;
                                                                                lenderAddress: `0x${string}`;
                                                                                maxSeniorRepayment?: InputMaybe<bigint>;
                                                                                maxTrancheFloor?: InputMaybe<bigint>;
                                                                                offerHash: `0x${string}`;
                                                                                offerId: bigint;
                                                                                offerValidators: OfferValidatorInput[];
                                                                                principalAddress: `0x${string}`;
                                                                                principalAmount: bigint;
                                                                                requiresLiquidation?: InputMaybe<boolean>;
                                                                                signature: `0x${string}`;
                                                                                signerAddress?: InputMaybe<`0x${string}`>;
                                                                                id: string;
                                                                                nftCollateralAddress: `0x${string}`;
                                                                                nftCollateralTokenId: bigint;
                                                                            }>

                                                                            +
                                                                          • Defined in src/api/index.ts:100
                                                                          • Returns Promise<{
                                                                                loanId: string;
                                                                                duration: bigint;
                                                                                principalAmount: bigint;
                                                                                renegotiationId: bigint;
                                                                                requiresLiquidation?: InputMaybe<boolean>;
                                                                                aprBps: bigint;
                                                                                expirationTime: bigint;
                                                                                targetPrincipal?: InputMaybe<bigint[]>;
                                                                                strictImprovement?: InputMaybe<boolean>;
                                                                                trancheIndex?: InputMaybe<bigint[]>;
                                                                                lenderAddress: `0x${string}`;
                                                                                signerAddress?: InputMaybe<`0x${string}`>;
                                                                                offerHash: `0x${string}`;
                                                                                feeAmount: bigint;
                                                                                isAddNewTranche?: InputMaybe<boolean>;
                                                                                signature: `0x${string}`;
                                                                                id: string;
                                                                            }>

                                                                            +
                                                                          • Defined in src/api/index.ts:116
                                                                          • Returns Promise<{
                                                                                offers: ({
                                                                                    type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                                    lender: undefined | null | `0x${string}`;
                                                                                    borrower: undefined | null | `0x${string}`;
                                                                                    signer: undefined | null | `0x${string}`;
                                                                                    offerValidators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[] | {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                    nftCollateralAddress: `0x${string}`;
                                                                                    nftCollateralTokenId: bigint;
                                                                                    id: string;
                                                                                    offerId: bigint;
                                                                                    lenderAddress?: null | `0x${string}`;
                                                                                    borrowerAddress?: null | `0x${string}`;
                                                                                    signerAddress?: null | `0x${string}`;
                                                                                    contractAddress: `0x${string}`;
                                                                                    requiresLiquidation?: null | boolean;
                                                                                    principalAddress: `0x${string}`;
                                                                                    principalAmount: bigint;
                                                                                    aprBps: bigint;
                                                                                    fee: bigint;
                                                                                    capacity: bigint;
                                                                                    expirationTime: bigint;
                                                                                    duration: bigint;
                                                                                    status: string;
                                                                                    offerHash?: null | `0x${string}`;
                                                                                    signature?: null | `0x${string}`;
                                                                                    createdDate?: null | Date;
                                                                                    repayment: bigint;
                                                                                    hidden?: null | boolean;
                                                                                    maxSeniorRepayment: bigint;
                                                                                    collection: {
                                                                                        __typename?: "Collection";
                                                                                        id: string;
                                                                                        slug: string;
                                                                                        contractData: {
                                                                                            __typename?: "ContractData";
                                                                                            contractAddress: `0x${string}`;
                                                                                        };
                                                                                    };
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        symbol: string;
                                                                                        decimals: number;
                                                                                        address: `0x${string}`;
                                                                                    };
                                                                                    validators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                } | {
                                                                                    type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                                    lender: undefined | null | `0x${string}`;
                                                                                    borrower: undefined | null | `0x${string}`;
                                                                                    signer: undefined | null | `0x${string}`;
                                                                                    offerValidators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[] | {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                    nftCollateralAddress: `0x${string}`;
                                                                                    nftCollateralTokenId: bigint;
                                                                                    id: string;
                                                                                    offerId: bigint;
                                                                                    lenderAddress?: null | `0x${string}`;
                                                                                    borrowerAddress?: null | `0x${string}`;
                                                                                    signerAddress?: null | `0x${string}`;
                                                                                    contractAddress: `0x${string}`;
                                                                                    requiresLiquidation?: null | boolean;
                                                                                    principalAddress: `0x${string}`;
                                                                                    principalAmount: bigint;
                                                                                    aprBps: bigint;
                                                                                    fee: bigint;
                                                                                    capacity: bigint;
                                                                                    expirationTime: bigint;
                                                                                    duration: bigint;
                                                                                    status: string;
                                                                                    offerHash?: null | `0x${string}`;
                                                                                    signature?: null | `0x${string}`;
                                                                                    createdDate?: null | Date;
                                                                                    repayment: bigint;
                                                                                    hidden?: null | boolean;
                                                                                    maxSeniorRepayment: bigint;
                                                                                    nft: {
                                                                                        __typename?: "NFT";
                                                                                        id: string;
                                                                                        tokenId: bigint;
                                                                                        collection?: null | {
                                                                                            __typename?: "Collection";
                                                                                            id: string;
                                                                                            slug: string;
                                                                                            contractData: {
                                                                                                __typename?: "ContractData";
                                                                                                contractAddress: `0x${string}`;
                                                                                            };
                                                                                        };
                                                                                    };
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        symbol: string;
                                                                                        decimals: number;
                                                                                        address: `0x${string}`;
                                                                                    };
                                                                                    validators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                })[];
                                                                                hasNextPage: true;
                                                                                cursor: string;
                                                                            } | {
                                                                                offers: ({
                                                                                    type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                                    lender: undefined | null | `0x${string}`;
                                                                                    borrower: undefined | null | `0x${string}`;
                                                                                    signer: undefined | null | `0x${string}`;
                                                                                    offerValidators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[] | {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                    nftCollateralAddress: `0x${string}`;
                                                                                    nftCollateralTokenId: bigint;
                                                                                    id: string;
                                                                                    offerId: bigint;
                                                                                    lenderAddress?: null | `0x${string}`;
                                                                                    borrowerAddress?: null | `0x${string}`;
                                                                                    signerAddress?: null | `0x${string}`;
                                                                                    contractAddress: `0x${string}`;
                                                                                    requiresLiquidation?: null | boolean;
                                                                                    principalAddress: `0x${string}`;
                                                                                    principalAmount: bigint;
                                                                                    aprBps: bigint;
                                                                                    fee: bigint;
                                                                                    capacity: bigint;
                                                                                    expirationTime: bigint;
                                                                                    duration: bigint;
                                                                                    status: string;
                                                                                    offerHash?: null | `0x${string}`;
                                                                                    signature?: null | `0x${string}`;
                                                                                    createdDate?: null | Date;
                                                                                    repayment: bigint;
                                                                                    hidden?: null | boolean;
                                                                                    maxSeniorRepayment: bigint;
                                                                                    collection: {
                                                                                        __typename?: "Collection";
                                                                                        id: string;
                                                                                        slug: string;
                                                                                        contractData: {
                                                                                            __typename?: "ContractData";
                                                                                            contractAddress: `0x${string}`;
                                                                                        };
                                                                                    };
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        symbol: string;
                                                                                        decimals: number;
                                                                                        address: `0x${string}`;
                                                                                    };
                                                                                    validators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                } | {
                                                                                    type: undefined | "CollectionOffer" | "SingleNFTOffer";
                                                                                    lender: undefined | null | `0x${string}`;
                                                                                    borrower: undefined | null | `0x${string}`;
                                                                                    signer: undefined | null | `0x${string}`;
                                                                                    offerValidators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[] | {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                    nftCollateralAddress: `0x${string}`;
                                                                                    nftCollateralTokenId: bigint;
                                                                                    id: string;
                                                                                    offerId: bigint;
                                                                                    lenderAddress?: null | `0x${string}`;
                                                                                    borrowerAddress?: null | `0x${string}`;
                                                                                    signerAddress?: null | `0x${string}`;
                                                                                    contractAddress: `0x${string}`;
                                                                                    requiresLiquidation?: null | boolean;
                                                                                    principalAddress: `0x${string}`;
                                                                                    principalAmount: bigint;
                                                                                    aprBps: bigint;
                                                                                    fee: bigint;
                                                                                    capacity: bigint;
                                                                                    expirationTime: bigint;
                                                                                    duration: bigint;
                                                                                    status: string;
                                                                                    offerHash?: null | `0x${string}`;
                                                                                    signature?: null | `0x${string}`;
                                                                                    createdDate?: null | Date;
                                                                                    repayment: bigint;
                                                                                    hidden?: null | boolean;
                                                                                    maxSeniorRepayment: bigint;
                                                                                    nft: {
                                                                                        __typename?: "NFT";
                                                                                        id: string;
                                                                                        tokenId: bigint;
                                                                                        collection?: null | {
                                                                                            __typename?: "Collection";
                                                                                            id: string;
                                                                                            slug: string;
                                                                                            contractData: {
                                                                                                __typename?: "ContractData";
                                                                                                contractAddress: `0x${string}`;
                                                                                            };
                                                                                        };
                                                                                    };
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        symbol: string;
                                                                                        decimals: number;
                                                                                        address: `0x${string}`;
                                                                                    };
                                                                                    validators: {
                                                                                        __typename?: "OfferValidator";
                                                                                        arguments: `0x${string}`;
                                                                                        validator: `0x${string}`;
                                                                                    }[];
                                                                                })[];
                                                                                hasNextPage: false;
                                                                                cursor: null;
                                                                            }>

                                                                            +
                                                                          • Defined in src/api/index.ts:125
                                                                          • Returns Promise<{
                                                                                loans: {
                                                                                    type: undefined | "MultiSourceLoan";
                                                                                    contractAddress: `0x${string}`;
                                                                                    nftCollateralTokenId: bigint;
                                                                                    nftCollateralAddress: undefined | `0x${string}`;
                                                                                    borrower: `0x${string}`;
                                                                                    startTime: bigint;
                                                                                    source: {
                                                                                        lender: `0x${string}`;
                                                                                        loanId: bigint;
                                                                                        startTime: bigint;
                                                                                        __typename?: "Source";
                                                                                        id: string;
                                                                                        originationFee: bigint;
                                                                                        principalAmount: bigint;
                                                                                        lenderAddress: string;
                                                                                        accruedInterest: bigint;
                                                                                        aprBps: bigint;
                                                                                    }[];
                                                                                    id: string;
                                                                                    address: `0x${string}`;
                                                                                    loanId: number;
                                                                                    timestamp: Date;
                                                                                    txHash: `0x${string}`;
                                                                                    indexInBlock: number;
                                                                                    borrowerAddress: `0x${string}`;
                                                                                    principalAddress: `0x${string}`;
                                                                                    duration: bigint;
                                                                                    status: string;
                                                                                    principalAmount: bigint;
                                                                                    blendedAprBps: number;
                                                                                    totalOriginationFee: bigint;
                                                                                    protocolFee: bigint;
                                                                                    offer: {
                                                                                        __typename?: "CollectionOffer";
                                                                                        offerId: bigint;
                                                                                        signerAddress?: null | `0x${string}`;
                                                                                    } | {
                                                                                        __typename?: "SingleNFTOffer";
                                                                                        offerId: bigint;
                                                                                        signerAddress?: null | `0x${string}`;
                                                                                    };
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        symbol: string;
                                                                                        decimals: number;
                                                                                        address: `0x${string}`;
                                                                                    };
                                                                                    repaidActivity?: null | {
                                                                                        __typename?: "LoanRepaid";
                                                                                        totalInterest: bigint;
                                                                                        timestamp: Date;
                                                                                    };
                                                                                    nft: {
                                                                                        __typename?: "NFT";
                                                                                        id: string;
                                                                                        name?: null | string;
                                                                                        tokenId: bigint;
                                                                                        nftId: string;
                                                                                        owner?: null | `0x${string}`;
                                                                                        image?: null | {
                                                                                            __typename?: "Asset";
                                                                                            data: string;
                                                                                            cacheUrl?: null | string;
                                                                                            contentTypeMime: string;
                                                                                            accessTypeName: string;
                                                                                        };
                                                                                        collection?: null | {
                                                                                            __typename?: "Collection";
                                                                                            id: string;
                                                                                            slug: string;
                                                                                            name?: null | string;
                                                                                            nftsCount?: null | number;
                                                                                            contractData: {
                                                                                                __typename?: "ContractData";
                                                                                                contractAddress: `0x${string}`;
                                                                                            };
                                                                                        };
                                                                                    };
                                                                                    sources: {
                                                                                        __typename?: "Source";
                                                                                        id: string;
                                                                                        loanId: string;
                                                                                        originationFee: bigint;
                                                                                        principalAmount: bigint;
                                                                                        lenderAddress: string;
                                                                                        accruedInterest: bigint;
                                                                                        aprBps: bigint;
                                                                                        startTime: Date;
                                                                                    }[];
                                                                                }[];
                                                                                hasNextPage: true;
                                                                                cursor: string;
                                                                            } | {
                                                                                loans: {
                                                                                    type: undefined | "MultiSourceLoan";
                                                                                    contractAddress: `0x${string}`;
                                                                                    nftCollateralTokenId: bigint;
                                                                                    nftCollateralAddress: undefined | `0x${string}`;
                                                                                    borrower: `0x${string}`;
                                                                                    startTime: bigint;
                                                                                    source: {
                                                                                        lender: `0x${string}`;
                                                                                        loanId: bigint;
                                                                                        startTime: bigint;
                                                                                        __typename?: "Source";
                                                                                        id: string;
                                                                                        originationFee: bigint;
                                                                                        principalAmount: bigint;
                                                                                        lenderAddress: string;
                                                                                        accruedInterest: bigint;
                                                                                        aprBps: bigint;
                                                                                    }[];
                                                                                    id: string;
                                                                                    address: `0x${string}`;
                                                                                    loanId: number;
                                                                                    timestamp: Date;
                                                                                    txHash: `0x${string}`;
                                                                                    indexInBlock: number;
                                                                                    borrowerAddress: `0x${string}`;
                                                                                    principalAddress: `0x${string}`;
                                                                                    duration: bigint;
                                                                                    status: string;
                                                                                    principalAmount: bigint;
                                                                                    blendedAprBps: number;
                                                                                    totalOriginationFee: bigint;
                                                                                    protocolFee: bigint;
                                                                                    offer: {
                                                                                        __typename?: "CollectionOffer";
                                                                                        offerId: bigint;
                                                                                        signerAddress?: null | `0x${string}`;
                                                                                    } | {
                                                                                        __typename?: "SingleNFTOffer";
                                                                                        offerId: bigint;
                                                                                        signerAddress?: null | `0x${string}`;
                                                                                    };
                                                                                    currency: {
                                                                                        __typename?: "Currency";
                                                                                        symbol: string;
                                                                                        decimals: number;
                                                                                        address: `0x${string}`;
                                                                                    };
                                                                                    repaidActivity?: null | {
                                                                                        __typename?: "LoanRepaid";
                                                                                        totalInterest: bigint;
                                                                                        timestamp: Date;
                                                                                    };
                                                                                    nft: {
                                                                                        __typename?: "NFT";
                                                                                        id: string;
                                                                                        name?: null | string;
                                                                                        tokenId: bigint;
                                                                                        nftId: string;
                                                                                        owner?: null | `0x${string}`;
                                                                                        image?: null | {
                                                                                            __typename?: "Asset";
                                                                                            data: string;
                                                                                            cacheUrl?: null | string;
                                                                                            contentTypeMime: string;
                                                                                            accessTypeName: string;
                                                                                        };
                                                                                        collection?: null | {
                                                                                            __typename?: "Collection";
                                                                                            id: string;
                                                                                            slug: string;
                                                                                            name?: null | string;
                                                                                            nftsCount?: null | number;
                                                                                            contractData: {
                                                                                                __typename?: "ContractData";
                                                                                                contractAddress: `0x${string}`;
                                                                                            };
                                                                                        };
                                                                                    };
                                                                                    sources: {
                                                                                        __typename?: "Source";
                                                                                        id: string;
                                                                                        loanId: string;
                                                                                        originationFee: bigint;
                                                                                        principalAmount: bigint;
                                                                                        lenderAddress: string;
                                                                                        accruedInterest: bigint;
                                                                                        aprBps: bigint;
                                                                                        startTime: Date;
                                                                                    }[];
                                                                                }[];
                                                                                hasNextPage: false;
                                                                                cursor: null;
                                                                            }>

                                                                            +
                                                                          • Defined in src/api/index.ts:156
                                                                          • Returns Promise<{
                                                                                listings: {
                                                                                    __typename?: "Listing";
                                                                                    id: string;
                                                                                    marketplaceName: MarketplaceEnum;
                                                                                    createdDate: Date;
                                                                                    desiredDuration?: null | number;
                                                                                    desiredPrincipalAddress?: null | `0x${string}`;
                                                                                    user: {
                                                                                        __typename?: "User";
                                                                                        walletAddress: `0x${string}`;
                                                                                    };
                                                                                    nft: {
                                                                                        __typename?: "NFT";
                                                                                        id: string;
                                                                                        tokenId: bigint;
                                                                                        collection?: null | {
                                                                                            __typename?: "Collection";
                                                                                            id: string;
                                                                                            slug: string;
                                                                                            contractData: {
                                                                                                __typename?: "ContractData";
                                                                                                contractAddress: `0x${string}`;
                                                                                            };
                                                                                        };
                                                                                    };
                                                                                }[];
                                                                                hasNextPage: true;
                                                                                cursor: string;
                                                                            } | {
                                                                                listings: {
                                                                                    __typename?: "Listing";
                                                                                    id: string;
                                                                                    marketplaceName: MarketplaceEnum;
                                                                                    createdDate: Date;
                                                                                    desiredDuration?: null | number;
                                                                                    desiredPrincipalAddress?: null | `0x${string}`;
                                                                                    user: {
                                                                                        __typename?: "User";
                                                                                        walletAddress: `0x${string}`;
                                                                                    };
                                                                                    nft: {
                                                                                        __typename?: "NFT";
                                                                                        id: string;
                                                                                        tokenId: bigint;
                                                                                        collection?: null | {
                                                                                            __typename?: "Collection";
                                                                                            id: string;
                                                                                            slug: string;
                                                                                            contractData: {
                                                                                                __typename?: "ContractData";
                                                                                                contractAddress: `0x${string}`;
                                                                                            };
                                                                                        };
                                                                                    };
                                                                                }[];
                                                                                hasNextPage: false;
                                                                                cursor: null;
                                                                            }>

                                                                            +
                                                                          • Defined in src/api/index.ts:184
                                                                            • @@ -206,12 +192,12 @@
                                                                              contractAddressOptional wrapperCollections?: {
                                                                                  contractData: {
                                                                                      contractAddress: `0x${string}`;
                                                                                  };
                                                                              }[]

                                                                            Returns Promise<`0x${string}`>

                                                                            +
                                                                          • Defined in src/api/index.ts:195
                                                                          • Properties

                                                                            -
                                                                            api: {
                                                                                listNft(variables, options?) => Promise<ListNftMutation>;
                                                                                unlistNft(variables, options?) => Promise<UnlistNftMutation>;
                                                                                generateCollectionOfferHash(variables, options?) => Promise<GenerateCollectionOfferHashMutation>;
                                                                                saveCollectionOffer(variables, options?) => Promise<SaveCollectionOfferMutation>;
                                                                                hideOffer(variables, options?) => Promise<HideOfferMutation>;
                                                                                generateSingleNftOfferHash(variables, options?) => Promise<GenerateSingleNftOfferHashMutation>;
                                                                                saveSingleNftOffer(variables, options?) => Promise<SaveSingleNftOfferMutation>;
                                                                                unhideOffer(variables, options?) => Promise<UnhideOfferMutation>;
                                                                                generateRenegotiationOfferHash(variables, options?) => Promise<GenerateRenegotiationOfferHashMutation>;
                                                                                hideRenegotiationOffer(variables, options?) => Promise<HideRenegotiationOfferMutation>;
                                                                                saveRenegotiationOffer(variables, options?) => Promise<SaveRenegotiationOfferMutation>;
                                                                                unhideRenegotiationOffer(variables, options?) => Promise<UnhideRenegotiationOfferMutation>;
                                                                                generateNftOrderToBeSigned(variables, options?) => Promise<GenerateNftOrderToBeSignedMutation>;
                                                                                hideOrder(variables, options?) => Promise<HideOrderMutation>;
                                                                                saveSignedNftOrder(variables, options?) => Promise<SaveSignedNftOrderMutation>;
                                                                                unhideOrder(variables, options?) => Promise<UnhideOrderMutation>;
                                                                                collections(variables, options?) => Promise<CollectionsQuery>;
                                                                                collectionByContractAddress(variables, options?) => Promise<CollectionByContractAddressQuery>;
                                                                                collectionsIdByContractAddress(variables, options?) => Promise<CollectionsIdByContractAddressQuery>;
                                                                                collectionIdBySlug(variables, options?) => Promise<CollectionIdBySlugQuery>;
                                                                                listListings(variables?, options?) => Promise<ListListingsQuery>;
                                                                                listLoans(variables?, options?) => Promise<ListLoansQuery>;
                                                                                nftIdByContractAddressAndTokenId(variables, options?) => Promise<NftIdByContractAddressAndTokenIdQuery>;
                                                                                nftIdBySlugTokenId(variables, options?) => Promise<NftIdBySlugTokenIdQuery>;
                                                                                ownedNfts(variables?, options?) => Promise<OwnedNftsQuery>;
                                                                                listOffers(variables, options?) => Promise<ListOffersQuery>;
                                                                            }
                                                                            +
                                                                            api: {
                                                                                listNft(variables, options?) => Promise<ListNftMutation>;
                                                                                unlistNft(variables, options?) => Promise<UnlistNftMutation>;
                                                                                generateCollectionOfferHash(variables, options?) => Promise<GenerateCollectionOfferHashMutation>;
                                                                                saveCollectionOffer(variables, options?) => Promise<SaveCollectionOfferMutation>;
                                                                                hideOffer(variables, options?) => Promise<HideOfferMutation>;
                                                                                generateSingleNftOfferHash(variables, options?) => Promise<GenerateSingleNftOfferHashMutation>;
                                                                                saveSingleNftOffer(variables, options?) => Promise<SaveSingleNftOfferMutation>;
                                                                                unhideOffer(variables, options?) => Promise<UnhideOfferMutation>;
                                                                                generateRenegotiationOfferHash(variables, options?) => Promise<GenerateRenegotiationOfferHashMutation>;
                                                                                hideRenegotiationOffer(variables, options?) => Promise<HideRenegotiationOfferMutation>;
                                                                                saveRenegotiationOffer(variables, options?) => Promise<SaveRenegotiationOfferMutation>;
                                                                                unhideRenegotiationOffer(variables, options?) => Promise<UnhideRenegotiationOfferMutation>;
                                                                                hideOrder(variables, options?) => Promise<HideOrderMutation>;
                                                                                publishOrder(variables, options?) => Promise<PublishOrderMutation>;
                                                                                unhideOrder(variables, options?) => Promise<UnhideOrderMutation>;
                                                                                collections(variables, options?) => Promise<CollectionsQuery>;
                                                                                collectionByContractAddress(variables, options?) => Promise<CollectionByContractAddressQuery>;
                                                                                collectionsIdByContractAddress(variables, options?) => Promise<CollectionsIdByContractAddressQuery>;
                                                                                collectionIdBySlug(variables, options?) => Promise<CollectionIdBySlugQuery>;
                                                                                listListings(variables?, options?) => Promise<ListListingsQuery>;
                                                                                listLoans(variables?, options?) => Promise<ListLoansQuery>;
                                                                                nftIdByContractAddressAndTokenId(variables, options?) => Promise<NftIdByContractAddressAndTokenIdQuery>;
                                                                                nftIdBySlugTokenId(variables, options?) => Promise<NftIdBySlugTokenIdQuery>;
                                                                                ownedNfts(variables?, options?) => Promise<OwnedNftsQuery>;
                                                                                listOffers(variables, options?) => Promise<ListOffersQuery>;
                                                                            }

                                                                            Type declaration

                                                                              @@ -230,7 +216,7 @@
                                                                              Optional

                                                                            Returns Promise<ListNftMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4971
                                                                          • unlistNft:function
                                                                              @@ -246,7 +232,7 @@
                                                                              Optional
                                                                          • Returns Promise<UnlistNftMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4974
                                                                          • generateCollectionOfferHash:function
                                                                              @@ -262,7 +248,7 @@
                                                                              Optional
                                                                          • Returns Promise<GenerateCollectionOfferHashMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4977
                                                                          • saveCollectionOffer:function
                                                                              @@ -278,7 +264,7 @@
                                                                              Optional
                                                                          • Returns Promise<SaveCollectionOfferMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4980
                                                                          • hideOffer:function
                                                                              @@ -294,7 +280,7 @@
                                                                              Optional
                                                                          • Returns Promise<HideOfferMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4983
                                                                          • generateSingleNftOfferHash:function
                                                                              @@ -310,7 +296,7 @@
                                                                              Optional
                                                                          • Returns Promise<GenerateSingleNftOfferHashMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4986
                                                                          • saveSingleNftOffer:function
                                                                              @@ -326,7 +312,7 @@
                                                                              Optional
                                                                          • Returns Promise<SaveSingleNftOfferMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4989
                                                                          • unhideOffer:function
                                                                              @@ -342,7 +328,7 @@
                                                                              Optional
                                                                          • Returns Promise<UnhideOfferMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4992
                                                                          • generateRenegotiationOfferHash:function
                                                                              @@ -358,7 +344,7 @@
                                                                              Optional
                                                                          • Returns Promise<GenerateRenegotiationOfferHashMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4995
                                                                          • hideRenegotiationOffer:function
                                                                              @@ -374,7 +360,7 @@
                                                                              Optional
                                                                          • Returns Promise<HideRenegotiationOfferMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:4998
                                                                          • saveRenegotiationOffer:function
                                                                              @@ -390,7 +376,7 @@
                                                                              Optional
                                                                          • Returns Promise<SaveRenegotiationOfferMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5001
                                                                          • unhideRenegotiationOffer:function
                                                                              @@ -406,23 +392,7 @@
                                                                              Optional
                                                                          • Returns Promise<UnhideRenegotiationOfferMutation>

                                                                            -
                                                                          • -
                                                                            generateNftOrderToBeSigned:function
                                                                            -
                                                                          • +
                                                                          • Defined in src/generated/graphql/index.ts:5004
                                                                          • hideOrder:function
                                                                              @@ -438,23 +408,23 @@
                                                                              Optional
                                                                          • Returns Promise<HideOrderMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5007
                                                                          • -
                                                                            saveSignedNftOrder:function
                                                                            +
                                                                            publishOrder:function
                                                                          • +
                                                                          • Defined in src/generated/graphql/index.ts:5010
                                                                          • unhideOrder:function
                                                                              @@ -470,7 +440,7 @@
                                                                              Optional
                                                                          • Returns Promise<UnhideOrderMutation>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5013
                                                                          • collections:function
                                                                              @@ -486,7 +456,7 @@
                                                                              Optional
                                                                          • Returns Promise<CollectionsQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5016
                                                                          • collectionByContractAddress:function
                                                                              @@ -502,7 +472,7 @@
                                                                              Optional
                                                                          • Returns Promise<CollectionByContractAddressQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5019
                                                                          • collectionsIdByContractAddress:function
                                                                              @@ -518,7 +488,7 @@
                                                                              Optional
                                                                          • Returns Promise<CollectionsIdByContractAddressQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5022
                                                                          • collectionIdBySlug:function
                                                                              @@ -534,7 +504,7 @@
                                                                              Optional
                                                                          • Returns Promise<CollectionIdBySlugQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5025
                                                                          • listListings:function
                                                                              @@ -550,7 +520,7 @@
                                                                              Optional
                                                                          • Returns Promise<ListListingsQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5028
                                                                          • listLoans:function
                                                                              @@ -566,7 +536,7 @@
                                                                              Optional
                                                                          • Returns Promise<ListLoansQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5031
                                                                          • nftIdByContractAddressAndTokenId:function
                                                                              @@ -582,7 +552,7 @@
                                                                              Optional
                                                                          • Returns Promise<NftIdByContractAddressAndTokenIdQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5034
                                                                          • nftIdBySlugTokenId:function
                                                                              @@ -598,7 +568,7 @@
                                                                              Optional
                                                                          • Returns Promise<NftIdBySlugTokenIdQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5037
                                                                          • ownedNfts:function
                                                                              @@ -614,7 +584,7 @@
                                                                              Optional
                                                                          • Returns Promise<OwnedNftsQuery>

                                                                            +
                                                                          • Defined in src/generated/graphql/index.ts:5040
                                                                          • listOffers:function
                                                                              @@ -630,9 +600,9 @@
                                                                              Optional
                                                                          • Returns Promise<ListOffersQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:35
                                                                          • generateSingleNftOfferHash: ((variables, options?) => Promise<GenerateSingleNftOfferHashMutation>)
                                                                            @@ -653,7 +623,7 @@
                                                                            Optional

                                                                            Returns Promise<GenerateSingleNftOfferHashMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:36
                                                                          • generateCollectionOfferHash: ((variables, options?) => Promise<GenerateCollectionOfferHashMutation>)
                                                                            @@ -674,7 +644,7 @@
                                                                            Optional

                                                                            Returns Promise<GenerateCollectionOfferHashMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:37
                                                                          • generateRenegotiationOfferHash: ((variables, options?) => Promise<GenerateRenegotiationOfferHashMutation>)
                                                                            @@ -695,7 +665,7 @@
                                                                            Optional

                                                                            Returns Promise<GenerateRenegotiationOfferHashMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:38
                                                                          • nftIdBySlugTokenId: ((variables, options?) => Promise<NftIdBySlugTokenIdQuery>)
                                                                            @@ -716,7 +686,7 @@
                                                                            Optional

                                                                            Returns Promise<NftIdBySlugTokenIdQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:39
                                                                          • nftIdByContractAddressAndTokenId: ((variables, options?) => Promise<NftIdByContractAddressAndTokenIdQuery>)
                                                                            @@ -737,7 +707,7 @@
                                                                            Optional

                                                                            Returns Promise<NftIdByContractAddressAndTokenIdQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:40
                                                                          • collections: ((variables, options?) => Promise<CollectionsQuery>)
                                                                            @@ -758,7 +728,7 @@
                                                                            Optional

                                                                            Returns Promise<CollectionsQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:41
                                                                          • collectionIdBySlug: ((variables, options?) => Promise<CollectionIdBySlugQuery>)
                                                                            @@ -779,7 +749,7 @@
                                                                            Optional

                                                                            Returns Promise<CollectionIdBySlugQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:42
                                                                          • collectionsIdByContractAddress: ((variables, options?) => Promise<CollectionsIdByContractAddressQuery>)
                                                                            @@ -800,7 +770,7 @@
                                                                            Optional

                                                                            Returns Promise<CollectionsIdByContractAddressQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:43
                                                                          • collectionByContractAddress: ((variables, options?) => Promise<CollectionByContractAddressQuery>)
                                                                            @@ -821,7 +791,7 @@
                                                                            Optional

                                                                            Returns Promise<CollectionByContractAddressQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:44
                                                                          • listNft: ((variables, options?) => Promise<ListNftMutation>)
                                                                            @@ -842,7 +812,7 @@
                                                                            Optional

                                                                            Returns Promise<ListNftMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:45
                                                                          • unlistNft: ((variables, options?) => Promise<UnlistNftMutation>)
                                                                            @@ -863,7 +833,7 @@
                                                                            Optional

                                                                            Returns Promise<UnlistNftMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:46
                                                                          • ownedNfts: ((variables?, options?) => Promise<OwnedNftsQuery>)
                                                                            @@ -884,7 +854,7 @@
                                                                            Optional

                                                                            Returns Promise<OwnedNftsQuery>

                                                                            +
                                                                          • Defined in src/api/index.ts:47
                                                                          • hideOffer: ((variables, options?) => Promise<HideOfferMutation>)
                                                                            @@ -905,7 +875,7 @@
                                                                            Optional

                                                                            Returns Promise<HideOfferMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:48
                                                                          • hideRenegotiationOffer: ((variables, options?) => Promise<HideRenegotiationOfferMutation>)
                                                                            @@ -926,7 +896,7 @@
                                                                            Optional

                                                                            Returns Promise<HideRenegotiationOfferMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:49
                                                                          • unhideOffer: ((variables, options?) => Promise<UnhideOfferMutation>)
                                                                            @@ -947,7 +917,7 @@
                                                                            Optional

                                                                            Returns Promise<UnhideOfferMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:50
                                                                          • unhideRenegotiationOffer: ((variables, options?) => Promise<UnhideRenegotiationOfferMutation>)
                                                                            @@ -968,7 +938,7 @@
                                                                            Optional

                                                                            Returns Promise<UnhideRenegotiationOfferMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:51
                                                                          • hideOrder: ((variables, options?) => Promise<HideOrderMutation>)
                                                                            @@ -989,7 +959,7 @@
                                                                            Optional

                                                                            Returns Promise<HideOrderMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:52
                                                                          • unhideOrder: ((variables, options?) => Promise<UnhideOrderMutation>)
                                                                            @@ -1010,7 +980,7 @@
                                                                            Optional

                                                                            Returns Promise<UnhideOrderMutation>

                                                                            +
                                                                          • Defined in src/api/index.ts:53
                                                                          • @@ -34,9 +34,10 @@

                                                                            Hierarchy

                                                                          • AllV6
                                                                          • UserVaultV5
                                                                          • UserVaultV6
                                                                          • +
                                                                          • PurchaseBundler
                                                                          • OldERC721Wrapper
                                                                          • +
                                                                          • Defined in src/contracts/BaseContract.ts:20
                                                                          • @@ -83,19 +84,19 @@
                                                                            addressabi: TAbi

                                                                            Returns BaseContract<TAbi>

                                                                            +
                                                                          • Defined in src/contracts/BaseContract.ts:39
                                                                          • Properties

                                                                            abi: TAbi
                                                                            +
                                                                          • Defined in src/contracts/BaseContract.ts:21
                                                                          • address: `0x${string}`
                                                                            +
                                                                          • Defined in src/contracts/BaseContract.ts:22
                                                                          • bcClient: {}
                                                                            @@ -103,7 +104,7 @@
                                                                              +
                                                                            • Defined in src/contracts/BaseContract.ts:23
                                                                            • wallet: {}
                                                                              @@ -111,17 +112,17 @@
                                                                              +
                                                                            • Defined in src/contracts/BaseContract.ts:24
                                                                            • contract: GetContractReturnType<TAbi, {} | {}>
                                                                              +
                                                                            • Defined in src/contracts/BaseContract.ts:25
                                                                            • safeContractWrite: {
                                                                                  [TFunctionName in string]: ((args, options?) => Promise<`0x${string}`>)
                                                                              }
                                                                              +
                                                                            • Defined in src/contracts/BaseContract.ts:27
                                                                            • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<TAbi, TFunctionName, true, TFunctionName extends ContractEventName<TAbi>[]
                                                                                  ? TFunctionName[number]
                                                                                  : TFunctionName>)
                                                                              @@ -146,7 +147,7 @@
                                                                              eventName: logs: Log<bigint, number, false>[]

                                                                              Returns ParseEventLogsReturnType<TAbi, TFunctionName, true, TFunctionName extends ContractEventName<TAbi>[]
                                                                                  ? TFunctionName[number]
                                                                                  : TFunctionName>

                                                                              +
                                                                            • Defined in src/contracts/BaseContract.ts:34
                                                                            • @@ -21,7 +21,7 @@

                                                                              Hierarchy

                                                                              • Contracts
                                                                              +
                                                                            • Defined in src/contracts/index.ts:31
                                                                            • @@ -55,6 +55,7 @@

                                                                              Properties

                                                                              AuctionLoanLiquidatorV6 UserVaultV5 UserVaultV6 +PurchaseBundler

                                                                              Constructors

                                                                              @@ -74,7 +75,7 @@
                                                                              walletClient:

                                                                              Returns Contracts

                                                                              +
                                                                            • Defined in src/contracts/index.ts:45
                                                                            • Methods

                                                                              @@ -89,7 +90,7 @@

                                                                              Parameters

                                                                              contractAddress: `0x${string}`

                                                                              Returns MslV6 | MslV5 | MslV4

                                                                              +
                                                                            • Defined in src/contracts/index.ts:60
                                                                            • +
                                                                            • Defined in src/contracts/index.ts:78
                                                                              • @@ -120,7 +121,7 @@

                                                                                Parameters

                                                                                contractAddress: `0x${string}`

                                                                              Returns UserVaultV6 | UserVaultV5

                                                                              +
                                                                            • Defined in src/contracts/index.ts:91
                                                                            • Returns BaseContract<Erc721Or1155ABI>

                                                                              +
                                                                            • Defined in src/contracts/index.ts:102
                                                                              • @@ -148,7 +149,7 @@

                                                                                Parameters

                                                                                address: `0x${string}`

                                                                              Returns BaseContract<readonly [{
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "owner";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "spender";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                      indexed: true;
                                                                                  }];
                                                                                  name: "Approval";
                                                                              }, {
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "owner";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "operator";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "approved";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                      indexed: false;
                                                                                  }];
                                                                                  name: "ApprovalForAll";
                                                                              }, {
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                      indexed: true;
                                                                                  }];
                                                                                  name: "Transfer";
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "spender";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "approve";
                                                                                  outputs: readonly [];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "owner";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "balanceOf";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "getApproved";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "isApprovedForAll";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [];
                                                                                  name: "name";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "string";
                                                                                      type: "string";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "ownerOf";
                                                                                  outputs: readonly [{
                                                                                      name: "owner";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "safeTransferFrom";
                                                                                  outputs: readonly [];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "data";
                                                                                      internalType: "bytes";
                                                                                      type: "bytes";
                                                                                  }];
                                                                                  name: "safeTransferFrom";
                                                                                  outputs: readonly [];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "operator";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "approved";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                                  name: "setApprovalForAll";
                                                                                  outputs: readonly [];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "interfaceId";
                                                                                      internalType: "bytes4";
                                                                                      type: "bytes4";
                                                                                  }];
                                                                                  name: "supportsInterface";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [];
                                                                                  name: "symbol";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "string";
                                                                                      type: "string";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "tokenURI";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "string";
                                                                                      type: "string";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "transferFrom";
                                                                                  outputs: readonly [];
                                                                              }]>

                                                                              +
                                                                            • Defined in src/contracts/index.ts:112
                                                                              • @@ -161,7 +162,7 @@

                                                                                Parameters

                                                                                address: `0x${string}`

                                                                              Returns BaseContract<readonly [{
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_uri";
                                                                                      type: "string";
                                                                                  }, {
                                                                                      name: "_editions";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "_salePrice";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "addNewTokenWithEditions";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "_salePrice";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "setSalePrice";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [];
                                                                                  name: "name";
                                                                                  outputs: readonly [{
                                                                                      name: "_name";
                                                                                      type: "string";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "pure";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_to";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "approve";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [];
                                                                                  name: "totalSupply";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "currentBidDetailsOfToken";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "";
                                                                                      type: "address";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "approvedFor";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "address";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "acceptBid";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_creator";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "isWhitelisted";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "bool";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "bid";
                                                                                  outputs: readonly [];
                                                                                  payable: true;
                                                                                  stateMutability: "payable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_owner";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "tokensOf";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256[]";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_percentage";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "setMaintainerPercentage";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_creator";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "whitelistCreator";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "ownerOf";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "address";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_uri";
                                                                                      type: "string";
                                                                                  }];
                                                                                  name: "originalTokenOfUri";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_owner";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "balanceOf";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [];
                                                                                  name: "owner";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "address";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [];
                                                                                  name: "symbol";
                                                                                  outputs: readonly [{
                                                                                      name: "_symbol";
                                                                                      type: "string";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "pure";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "cancelBid";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "salePriceOfToken";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_to";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "transfer";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "takeOwnership";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_percentage";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "setCreatorPercentage";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "tokenURI";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "string";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "creatorOfToken";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "address";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "buy";
                                                                                  outputs: readonly [];
                                                                                  payable: true;
                                                                                  stateMutability: "payable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "_uri";
                                                                                      type: "string";
                                                                                  }];
                                                                                  name: "addNewToken";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [];
                                                                                  name: "creatorPercentage";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: true;
                                                                                  inputs: readonly [];
                                                                                  name: "maintainerPercentage";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  payable: false;
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                              }, {
                                                                                  constant: false;
                                                                                  inputs: readonly [{
                                                                                      name: "newOwner";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "transferOwnership";
                                                                                  outputs: readonly [];
                                                                                  payable: false;
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_creator";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "WhitelistCreator";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_bidder";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_amount";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "Bid";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_bidder";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_seller";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: false;
                                                                                      name: "_amount";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "AcceptBid";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_bidder";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_amount";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "CancelBid";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_buyer";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_seller";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: false;
                                                                                      name: "_amount";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "Sold";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_price";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "SalePriceSet";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "previousOwner";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "newOwner";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "OwnershipTransferred";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_from";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_to";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: false;
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "Transfer";
                                                                                  type: "event";
                                                                              }, {
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      indexed: true;
                                                                                      name: "_owner";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: true;
                                                                                      name: "_approved";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      indexed: false;
                                                                                      name: "_tokenId";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "Approval";
                                                                                  type: "event";
                                                                              }]>

                                                                              +
                                                                            • Defined in src/contracts/index.ts:120
                                                                              • @@ -174,7 +175,7 @@

                                                                                Parameters

                                                                                address: `0x${string}`

                                                                              Returns BaseContract<readonly [{
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "balanceOf";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  stateMutability: "view";
                                                                              }, {
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "owners";
                                                                                      internalType: "address[]";
                                                                                      type: "address[]";
                                                                                  }, {
                                                                                      name: "ids";
                                                                                      internalType: "uint256[]";
                                                                                      type: "uint256[]";
                                                                                  }];
                                                                                  name: "balanceOfBatch";
                                                                                  outputs: readonly [{
                                                                                      name: "balances";
                                                                                      internalType: "uint256[]";
                                                                                      type: "uint256[]";
                                                                                  }];
                                                                                  stateMutability: "view";
                                                                              }, {
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "isApprovedForAll";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                                  stateMutability: "view";
                                                                              }, {
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "ids";
                                                                                      internalType: "uint256[]";
                                                                                      type: "uint256[]";
                                                                                  }, {
                                                                                      name: "amounts";
                                                                                      internalType: "uint256[]";
                                                                                      type: "uint256[]";
                                                                                  }, {
                                                                                      name: "data";
                                                                                      internalType: "bytes";
                                                                                      type: "bytes";
                                                                                  }];
                                                                                  name: "safeBatchTransferFrom";
                                                                                  outputs: readonly [];
                                                                                  stateMutability: "nonpayable";
                                                                              }, {
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "amount";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "data";
                                                                                      internalType: "bytes";
                                                                                      type: "bytes";
                                                                                  }];
                                                                                  name: "safeTransferFrom";
                                                                                  outputs: readonly [];
                                                                                  stateMutability: "nonpayable";
                                                                              }, {
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "operator";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "approved";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                                  name: "setApprovalForAll";
                                                                                  outputs: readonly [];
                                                                                  stateMutability: "nonpayable";
                                                                              }, {
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "interfaceId";
                                                                                      internalType: "bytes4";
                                                                                      type: "bytes4";
                                                                                  }];
                                                                                  name: "supportsInterface";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                                  stateMutability: "view";
                                                                              }, {
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "uri";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "string";
                                                                                      type: "string";
                                                                                  }];
                                                                                  stateMutability: "view";
                                                                              }, {
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "owner";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "operator";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "approved";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                      indexed: false;
                                                                                  }];
                                                                                  name: "ApprovalForAll";
                                                                              }, {
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "operator";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "ids";
                                                                                      internalType: "uint256[]";
                                                                                      type: "uint256[]";
                                                                                      indexed: false;
                                                                                  }, {
                                                                                      name: "amounts";
                                                                                      internalType: "uint256[]";
                                                                                      type: "uint256[]";
                                                                                      indexed: false;
                                                                                  }];
                                                                                  name: "TransferBatch";
                                                                              }, {
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "operator";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                      indexed: false;
                                                                                  }, {
                                                                                      name: "amount";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                      indexed: false;
                                                                                  }];
                                                                                  name: "TransferSingle";
                                                                              }, {
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "value";
                                                                                      internalType: "string";
                                                                                      type: "string";
                                                                                      indexed: false;
                                                                                  }, {
                                                                                      name: "id";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                      indexed: true;
                                                                                  }];
                                                                                  name: "URI";
                                                                              }]>

                                                                              +
                                                                            • Defined in src/contracts/index.ts:128
                                                                              • @@ -187,7 +188,7 @@

                                                                                Parameters

                                                                                address: `0x${string}`

                                                                              Returns OldERC721Wrapper

                                                                              +
                                                                            • Defined in src/contracts/index.ts:136
                                                                              • @@ -200,7 +201,7 @@

                                                                                Parameters

                                                                                address: `0x${string}`

                                                                              Returns BaseContract<readonly [{
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "owner";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "spender";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "amount";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                      indexed: false;
                                                                                  }];
                                                                                  name: "Approval";
                                                                              }, {
                                                                                  type: "event";
                                                                                  anonymous: false;
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                      indexed: true;
                                                                                  }, {
                                                                                      name: "amount";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                      indexed: false;
                                                                                  }];
                                                                                  name: "Transfer";
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [];
                                                                                  name: "DOMAIN_SEPARATOR";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bytes32";
                                                                                      type: "bytes32";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "allowance";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "spender";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "amount";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "approve";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "balanceOf";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [];
                                                                                  name: "decimals";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint8";
                                                                                      type: "uint8";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [];
                                                                                  name: "name";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "string";
                                                                                      type: "string";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }];
                                                                                  name: "nonces";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "owner";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "spender";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "value";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "deadline";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }, {
                                                                                      name: "v";
                                                                                      internalType: "uint8";
                                                                                      type: "uint8";
                                                                                  }, {
                                                                                      name: "r";
                                                                                      internalType: "bytes32";
                                                                                      type: "bytes32";
                                                                                  }, {
                                                                                      name: "s";
                                                                                      internalType: "bytes32";
                                                                                      type: "bytes32";
                                                                                  }];
                                                                                  name: "permit";
                                                                                  outputs: readonly [];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [];
                                                                                  name: "symbol";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "string";
                                                                                      type: "string";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "view";
                                                                                  type: "function";
                                                                                  inputs: readonly [];
                                                                                  name: "totalSupply";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "amount";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "transfer";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                              }, {
                                                                                  stateMutability: "nonpayable";
                                                                                  type: "function";
                                                                                  inputs: readonly [{
                                                                                      name: "from";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "to";
                                                                                      internalType: "address";
                                                                                      type: "address";
                                                                                  }, {
                                                                                      name: "amount";
                                                                                      internalType: "uint256";
                                                                                      type: "uint256";
                                                                                  }];
                                                                                  name: "transferFrom";
                                                                                  outputs: readonly [{
                                                                                      name: "";
                                                                                      internalType: "bool";
                                                                                      type: "bool";
                                                                                  }];
                                                                              }]>

                                                                              +
                                                                            • Defined in src/contracts/index.ts:143
                                                                            • Properties

                                                                              @@ -210,7 +211,7 @@
                                                                              +
                                                                            • Defined in src/contracts/index.ts:32
                                                                            • walletClient: {}
                                                                              @@ -218,47 +219,52 @@
                                                                              +
                                                                            • Defined in src/contracts/index.ts:33
                                                                            • MultiSourceLoanV4: MslV4
                                                                              +
                                                                            • Defined in src/contracts/index.ts:35
                                                                            • MultiSourceLoanV5: MslV5
                                                                              +
                                                                            • Defined in src/contracts/index.ts:36
                                                                            • MultiSourceLoanV6: MslV6
                                                                              +
                                                                            • Defined in src/contracts/index.ts:37
                                                                            • AuctionLoanLiquidatorV4: AllV4
                                                                              +
                                                                            • Defined in src/contracts/index.ts:38
                                                                            • AuctionLoanLiquidatorV5: AllV5
                                                                              +
                                                                            • Defined in src/contracts/index.ts:39
                                                                            • AuctionLoanLiquidatorV6: AllV6
                                                                              +
                                                                            • Defined in src/contracts/index.ts:40
                                                                            • UserVaultV5: UserVaultV5
                                                                              +
                                                                            • Defined in src/contracts/index.ts:41
                                                                            • UserVaultV6: UserVaultV6
                                                                              +
                                                                            • Defined in src/contracts/index.ts:42
                                                                            • +
                                                                              + +
                                                                              PurchaseBundler: PurchaseBundler
                                                                              +
                                                                            • UserVaultV6
                                                                            • +
                                                                            • PurchaseBundler
                                                                            • @@ -23,7 +23,7 @@

                                                                              Hierarchy

                                                                              • MslV4
                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:17
                                                                            • @@ -85,7 +85,7 @@
                                                                              walletClientReturns MslV4
                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:18
                                                                            • Methods

                                                                              @@ -134,7 +134,7 @@
                                                                              durationvalidators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[]

                                                                              Returns Promise<`0x${string}`>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:39
                                                                              • @@ -173,7 +173,7 @@
                                                                                durationstrictImprovement: boolean

                                                                              Returns Promise<`0x${string}`>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:70
                                                                              • @@ -189,7 +189,7 @@
                                                                                __namedParameters: id: bigint

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      lender: `0x${string}`;
                                                                                      offerId: bigint;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:93
                                                                              • @@ -205,7 +205,7 @@
                                                                                __namedParameters: minId: bigint

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      lender: `0x${string}`;
                                                                                      minOfferId: bigint;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:109
                                                                              • @@ -221,7 +221,7 @@
                                                                                __namedParameters: id: bigint

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      lender: `0x${string}`;
                                                                                      renegotiationId: bigint;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:128
                                                                              • @@ -237,7 +237,7 @@
                                                                                __namedParameters: minId: bigint

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      lender: `0x${string}`;
                                                                                      minRenegotiationId: bigint;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:146
                                                                            • Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      loan: {
                                                                                          contractAddress: `0x${string}`;
                                                                                          borrower: `0x${string}`;
                                                                                          nftCollateralTokenId: bigint;
                                                                                          nftCollateralAddress: `0x${string}`;
                                                                                          principalAddress: `0x${string}`;
                                                                                          principalAmount: bigint;
                                                                                          startTime: bigint;
                                                                                          duration: bigint;
                                                                                          source: readonly {
                                                                                              loanId: bigint;
                                                                                              lender: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              accruedInterest: bigint;
                                                                                              startTime: bigint;
                                                                                              aprBps: bigint;
                                                                                          }[];
                                                                                          id: string;
                                                                                      };
                                                                                      loanId: bigint;
                                                                                      offerId: string;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:177
                                                                              • @@ -270,7 +270,7 @@
                                                                                loanIdOptional nftReceiver?: `0x${string}`

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      loanId: bigint;
                                                                                      totalRepayment: bigint;
                                                                                      fee: bigint;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:206
                                                                            • +
                                                                            • Defined in src/contracts/MslV4.ts:232
                                                                            • +
                                                                            • Defined in src/contracts/MslV4.ts:236
                                                                              • @@ -304,7 +304,7 @@
                                                                                renegotiationIdrefinancings: {
                                                                                    loan: LoanV4;
                                                                                    newAprBps: bigint;
                                                                                    sources: {
                                                                                        source: {
                                                                                            loanId: bigint;
                                                                                            lender: `0x${string}`;
                                                                                            principalAmount: bigint;
                                                                                            accruedInterest: bigint;
                                                                                            startTime: bigint;
                                                                                            aprBps: bigint;
                                                                                        };
                                                                                        refinancingPrincipal: bigint;
                                                                                    }[];
                                                                                }[]

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      results: {
                                                                                          renegotiationId: bigint;
                                                                                          oldLoanId: bigint;
                                                                                          newLoanId: bigint;
                                                                                          loan: {
                                                                                              borrower: `0x${string}`;
                                                                                              nftCollateralTokenId: bigint;
                                                                                              nftCollateralAddress: `0x${string}`;
                                                                                              principalAddress: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              startTime: bigint;
                                                                                              duration: bigint;
                                                                                              source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                                          };
                                                                                          fee: bigint;
                                                                                      }[];
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:240
                                                                              • @@ -347,7 +347,7 @@
                                                                                signatureloan: LoanV4

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      loan: {
                                                                                          contractAddress: `0x${string}`;
                                                                                          borrower: `0x${string}`;
                                                                                          nftCollateralTokenId: bigint;
                                                                                          nftCollateralAddress: `0x${string}`;
                                                                                          principalAddress: `0x${string}`;
                                                                                          principalAmount: bigint;
                                                                                          startTime: bigint;
                                                                                          duration: bigint;
                                                                                          source: readonly {
                                                                                              loanId: bigint;
                                                                                              lender: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              accruedInterest: bigint;
                                                                                              startTime: bigint;
                                                                                              aprBps: bigint;
                                                                                          }[];
                                                                                          id: string;
                                                                                      };
                                                                                      loanId: bigint;
                                                                                      renegotiationId: string;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:297
                                                                              • @@ -388,7 +388,7 @@
                                                                                strictImprovementloan: LoanV4

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      loan: {
                                                                                          contractAddress: `0x${string}`;
                                                                                          borrower: `0x${string}`;
                                                                                          nftCollateralTokenId: bigint;
                                                                                          nftCollateralAddress: `0x${string}`;
                                                                                          principalAddress: `0x${string}`;
                                                                                          principalAmount: bigint;
                                                                                          startTime: bigint;
                                                                                          duration: bigint;
                                                                                          source: readonly {
                                                                                              loanId: bigint;
                                                                                              lender: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              accruedInterest: bigint;
                                                                                              startTime: bigint;
                                                                                              aprBps: bigint;
                                                                                          }[];
                                                                                          id: string;
                                                                                      };
                                                                                      loanId: bigint;
                                                                                      renegotiationId: string;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:312
                                                                            • +
                                                                            • Defined in src/contracts/MslV4.ts:352
                                                                            • +
                                                                            • Defined in src/contracts/MslV4.ts:356
                                                                            • +
                                                                            • Defined in src/contracts/MslV4.ts:360
                                                                            • +
                                                                            • Defined in src/contracts/MslV4.ts:364
                                                                            • +
                                                                            • Defined in src/contracts/MslV4.ts:368
                                                                              • @@ -436,7 +436,7 @@
                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:372
                                                                              • @@ -454,7 +454,7 @@
                                                                                loanloanId: bigint

                                                                              Returns Promise<{
                                                                                  txHash: `0x${string}`;
                                                                                  waitTxInBlock: (() => Promise<{
                                                                                      loanId: bigint;
                                                                                  }>);
                                                                              }>

                                                                              +
                                                                            • Defined in src/contracts/MslV4.ts:375
                                                                            • Properties

                                                                              @@ -462,13 +462,13 @@
                                                                              +
                                                                            • Defined in src/contracts/BaseContract.ts:21
                                                                            • address: `0x${string}`
                                                                              +
                                                                            • Defined in src/contracts/BaseContract.ts:22
                                                                            • bcClient: {}
                                                                              @@ -477,7 +477,7 @@

                                                                              Type declaration

                                                                                +
                                                                              • Defined in src/contracts/BaseContract.ts:23
                                                                              • wallet: {}
                                                                                @@ -486,13 +486,13 @@

                                                                                Type declaration

                                                                                  +
                                                                                • Defined in src/contracts/BaseContract.ts:24
                                                                                • contract: GetContractReturnType<readonly [{
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "constructor";
                                                                                      inputs: readonly [{
                                                                                          name: "loanLiquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "protocolFee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "currencyManager";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "collectionManager";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "maxSources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "AddressZeroError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledOrExecutedOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledRenegotiationOffer";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CannotLiquidateError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CollectionNotWhitelistedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CurrencyNotWhitelistedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ExpiredLoanError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "ExpiredOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "ExpiredRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidBorrowerError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidCallbackError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidCollateralIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidLiquidationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "InvalidLoanError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_fraction";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "InvalidProtocolFeeError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidSignatureError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidSignerError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "LengthMismatchError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "LiquidatorOnlyError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "LoanExpiredError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LoanNotDueError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LoanNotFoundError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_newMinOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LowOfferIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_newMinRenegotiationOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LowRenegotiationOfferIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "MaxCapacityExceededError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_id";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "NotMintedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "NotStrictlyImprovedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "OnlyBorrowerCallableError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "OnlyLenderOrSignerCallableError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "PartialOfferCannotChangeDurationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "PartialOfferCannotHaveFeeError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "RefinanceFullError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "RepaymentError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "sourcePrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "loanPrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "TargetPrincipalTooLowError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_pendingProtocolFeeSetTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "TooEarlyError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "sources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                      name: "TooManySourcesError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "Unauthorized";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_authorized";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "UnauthorizedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroAddressError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroDurationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroInterestError";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "AllOffersCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "minRenegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "AllRenegotiationOffersCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "signer";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ApprovedSigner";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "minimum";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ImprovementMinimumUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "newDuration";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LiquidationAuctionDurationUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LiquidationContractUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanEmitted";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanForeclosed";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "repayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanLiquidated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "oldLoanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "newLoanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanRefinanced";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "totalRepayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanRepaid";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanSentToLiquidator";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "newMax";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "MaxSourcesUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "OfferCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "user";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: true;
                                                                                      }, {
                                                                                          name: "newOwner";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: true;
                                                                                      }];
                                                                                      name: "OwnershipTransferred";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "fee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ProtocolFeePendingUpdate";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "fee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ProtocolFeeUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "RenegotiationOfferCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "contract_added";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "WhitelistedCallbackContractAdded";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "contract_removed";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "WhitelistedCallbackContractRemoved";
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "DOMAIN_SEPARATOR";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "FEE_UPDATE_NOTICE";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "MAX_PROTOCOL_FEE";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "addWhitelistedCallbackContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_signer";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "approveSigner";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelAllOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_minRenegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelAllRenegotiationOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelOffer";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerIds";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }];
                                                                                      name: "cancelOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelRenegotiationOffer";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationIds";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }];
                                                                                      name: "cancelRenegotiationOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanOffer";
                                                                                          internalType: "struct IBaseLoan.LoanOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "capacity";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "requiresLiquidation";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "validators";
                                                                                              internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "validator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "arguments";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_tokenId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_lenderOfferSignature";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }, {
                                                                                          name: "_withCallback";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                      name: "emitLoan";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "getApprovedSigner";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getCollectionManager";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getCurrencyManager";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getImprovementMinimum";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getLiquidationAuctionDuration";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint48";
                                                                                          type: "uint48";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getLiquidator";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getLoanHash";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getMaxSources";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanPrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getMinSourcePrincipal";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getPendingProtocolFee";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getPendingProtocolFeeSetTime";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getProtocolFee";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getTotalLoansIssued";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getUsedCapacity";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "isOfferCancelled";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "isRenegotiationOfferCancelled";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "isWhitelistedCallbackContract";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "lenderMinOfferId";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "lenderMinRenegotiationOfferId";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "liquidateLoan";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_collateralAddress";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_collateralTokenId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_repayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "loanLiquidated";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "name";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "string";
                                                                                          type: "string";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "onERC721Received";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes4";
                                                                                          type: "bytes4";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "owner";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_renegotiationOfferSignature";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "refinanceFull";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "refinancePartial";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "refinancePartialBatch";
                                                                                      outputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }, {
                                                                                          name: "loans";
                                                                                          internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "removeWhitelistedCallbackContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_collateralTo";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_withCallback";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                      name: "repayLoan";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "maxSources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                      name: "setMaxSources";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "setProtocolFee";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "newOwner";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "transferOwnership";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newMinimum";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                      name: "updateImprovementMinimum";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newDuration";
                                                                                          internalType: "uint48";
                                                                                          type: "uint48";
                                                                                      }];
                                                                                      name: "updateLiquidationAuctionDuration";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "loanLiquidator";
                                                                                          internalType: "contract ILoanLiquidator";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "updateLiquidationContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newProtocolFee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                      name: "updateProtocolFee";
                                                                                      outputs: readonly [];
                                                                                  }], {} | {}>
                                                                                  +
                                                                                • Defined in src/contracts/BaseContract.ts:25
                                                                                • safeContractWrite: {
                                                                                      transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                                      liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                      onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                                      addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                      approveSigner: ((args, options?) => Promise<`0x${string}`>);
                                                                                      cancelAllOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                      cancelAllRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                      cancelOffer: ((args, options?) => Promise<`0x${string}`>);
                                                                                      cancelOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                      cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>);
                                                                                      cancelRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                      loanLiquidated: ((args, options?) => Promise<`0x${string}`>);
                                                                                      removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                      setProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                                                      updateImprovementMinimum: ((args, options?) => Promise<`0x${string}`>);
                                                                                      updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>);
                                                                                      updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                      updateProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                                                      emitLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                      refinanceFull: ((args, options?) => Promise<`0x${string}`>);
                                                                                      refinancePartial: ((args, options?) => Promise<`0x${string}`>);
                                                                                      refinancePartialBatch: ((args, options?) => Promise<`0x${string}`>);
                                                                                      repayLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                      setMaxSources: ((args, options?) => Promise<`0x${string}`>);
                                                                                  }
                                                                                  @@ -933,7 +933,7 @@
                                                                                  Optional Returns Promise<`0x${string}`>
                                                                                  +
                                                                                • Defined in src/contracts/BaseContract.ts:27
                                                                                • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "constructor";
                                                                                      inputs: readonly [{
                                                                                          name: "loanLiquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "protocolFee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "currencyManager";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "collectionManager";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "maxSources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "AddressZeroError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledOrExecutedOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledRenegotiationOffer";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CannotLiquidateError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CollectionNotWhitelistedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CurrencyNotWhitelistedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ExpiredLoanError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "ExpiredOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "ExpiredRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidBorrowerError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidCallbackError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidCollateralIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidLiquidationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "InvalidLoanError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_fraction";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "InvalidProtocolFeeError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidSignatureError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidSignerError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "LengthMismatchError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "LiquidatorOnlyError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "LoanExpiredError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LoanNotDueError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LoanNotFoundError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_newMinOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LowOfferIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_newMinRenegotiationOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LowRenegotiationOfferIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "MaxCapacityExceededError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_id";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "NotMintedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "NotStrictlyImprovedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "OnlyBorrowerCallableError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "OnlyLenderOrSignerCallableError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "PartialOfferCannotChangeDurationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "PartialOfferCannotHaveFeeError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "RefinanceFullError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "RepaymentError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "sourcePrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "loanPrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "TargetPrincipalTooLowError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_pendingProtocolFeeSetTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "TooEarlyError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "sources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                      name: "TooManySourcesError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "Unauthorized";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_authorized";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "UnauthorizedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroAddressError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroDurationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroInterestError";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "AllOffersCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "minRenegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "AllRenegotiationOffersCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "signer";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ApprovedSigner";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "minimum";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ImprovementMinimumUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "newDuration";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LiquidationAuctionDurationUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LiquidationContractUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanEmitted";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanForeclosed";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "repayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanLiquidated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "oldLoanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "newLoanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanRefinanced";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "totalRepayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanRepaid";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanSentToLiquidator";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "newMax";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "MaxSourcesUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "OfferCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "user";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: true;
                                                                                      }, {
                                                                                          name: "newOwner";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: true;
                                                                                      }];
                                                                                      name: "OwnershipTransferred";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "fee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ProtocolFeePendingUpdate";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "fee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ProtocolFeeUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "RenegotiationOfferCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "contract_added";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "WhitelistedCallbackContractAdded";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "contract_removed";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "WhitelistedCallbackContractRemoved";
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "DOMAIN_SEPARATOR";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "FEE_UPDATE_NOTICE";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "MAX_PROTOCOL_FEE";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "addWhitelistedCallbackContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_signer";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "approveSigner";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelAllOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_minRenegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelAllRenegotiationOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelOffer";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerIds";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }];
                                                                                      name: "cancelOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelRenegotiationOffer";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationIds";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }];
                                                                                      name: "cancelRenegotiationOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanOffer";
                                                                                          internalType: "struct IBaseLoan.LoanOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "capacity";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "requiresLiquidation";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "validators";
                                                                                              internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "validator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "arguments";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_tokenId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_lenderOfferSignature";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }, {
                                                                                          name: "_withCallback";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                      name: "emitLoan";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "getApprovedSigner";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getCollectionManager";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getCurrencyManager";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getImprovementMinimum";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getLiquidationAuctionDuration";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint48";
                                                                                          type: "uint48";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getLiquidator";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getLoanHash";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getMaxSources";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanPrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getMinSourcePrincipal";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getPendingProtocolFee";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getPendingProtocolFeeSetTime";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getProtocolFee";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getTotalLoansIssued";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getUsedCapacity";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "isOfferCancelled";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "isRenegotiationOfferCancelled";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "isWhitelistedCallbackContract";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "lenderMinOfferId";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "lenderMinRenegotiationOfferId";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "liquidateLoan";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_collateralAddress";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_collateralTokenId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_repayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "loanLiquidated";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "name";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "string";
                                                                                          type: "string";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "onERC721Received";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes4";
                                                                                          type: "bytes4";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "owner";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_renegotiationOfferSignature";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "refinanceFull";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "refinancePartial";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "refinancePartialBatch";
                                                                                      outputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }, {
                                                                                          name: "loans";
                                                                                          internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "removeWhitelistedCallbackContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_collateralTo";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_withCallback";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                      name: "repayLoan";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "maxSources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                      name: "setMaxSources";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "setProtocolFee";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "newOwner";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "transferOwnership";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newMinimum";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                      name: "updateImprovementMinimum";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newDuration";
                                                                                          internalType: "uint48";
                                                                                          type: "uint48";
                                                                                      }];
                                                                                      name: "updateLiquidationAuctionDuration";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "loanLiquidator";
                                                                                          internalType: "contract ILoanLiquidator";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "updateLiquidationContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newProtocolFee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                      name: "updateProtocolFee";
                                                                                      outputs: readonly [];
                                                                                  }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ApprovedSigner" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated")[]
                                                                                      ? TFunctionName[number]
                                                                                      : TFunctionName>)
                                                                                  @@ -959,7 +959,7 @@
                                                                                  logs: Returns ParseEventLogsReturnType<readonly [{
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "constructor";
                                                                                      inputs: readonly [{
                                                                                          name: "loanLiquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "protocolFee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "currencyManager";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "collectionManager";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "maxSources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "AddressZeroError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledOrExecutedOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledRenegotiationOffer";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "CancelledRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CannotLiquidateError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CollectionNotWhitelistedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "CurrencyNotWhitelistedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ExpiredLoanError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "ExpiredOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "ExpiredRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidBorrowerError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidCallbackError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidCollateralIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidLiquidationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "InvalidLoanError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_fraction";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "InvalidProtocolFeeError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidRenegotiationOfferError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidSignatureError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "InvalidSignerError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "LengthMismatchError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "LiquidatorOnlyError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "LoanExpiredError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_expirationTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LoanNotDueError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LoanNotFoundError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_newMinOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LowOfferIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_newMinRenegotiationOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "LowRenegotiationOfferIdError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "MaxCapacityExceededError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_id";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "NotMintedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "NotStrictlyImprovedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "OnlyBorrowerCallableError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "OnlyLenderOrSignerCallableError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "PartialOfferCannotChangeDurationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "PartialOfferCannotHaveFeeError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "RefinanceFullError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "RepaymentError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "sourcePrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "loanPrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "TargetPrincipalTooLowError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_pendingProtocolFeeSetTime";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "TooEarlyError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "sources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                      name: "TooManySourcesError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "Unauthorized";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [{
                                                                                          name: "_authorized";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "UnauthorizedError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroAddressError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroDurationError";
                                                                                  }, {
                                                                                      type: "error";
                                                                                      inputs: readonly [];
                                                                                      name: "ZeroInterestError";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "AllOffersCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "minRenegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "AllRenegotiationOffersCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "signer";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ApprovedSigner";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "minimum";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ImprovementMinimumUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "newDuration";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LiquidationAuctionDurationUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LiquidationContractUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanEmitted";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanForeclosed";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "repayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanLiquidated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "oldLoanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "newLoanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanRefinanced";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "totalRepayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "fee";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanRepaid";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "liquidator";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "LoanSentToLiquidator";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "newMax";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "MaxSourcesUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "OfferCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "user";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: true;
                                                                                      }, {
                                                                                          name: "newOwner";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: true;
                                                                                      }];
                                                                                      name: "OwnershipTransferred";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "fee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ProtocolFeePendingUpdate";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "fee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "ProtocolFeeUpdated";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }, {
                                                                                          name: "renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "RenegotiationOfferCancelled";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "contract_added";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "WhitelistedCallbackContractAdded";
                                                                                  }, {
                                                                                      type: "event";
                                                                                      anonymous: false;
                                                                                      inputs: readonly [{
                                                                                          name: "contract_removed";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                          indexed: false;
                                                                                      }];
                                                                                      name: "WhitelistedCallbackContractRemoved";
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "DOMAIN_SEPARATOR";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "FEE_UPDATE_NOTICE";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "MAX_PROTOCOL_FEE";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "addWhitelistedCallbackContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_signer";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "approveSigner";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_minOfferId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelAllOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_minRenegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelAllRenegotiationOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelOffer";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerIds";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }];
                                                                                      name: "cancelOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "cancelRenegotiationOffer";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_renegotiationIds";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }];
                                                                                      name: "cancelRenegotiationOffers";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanOffer";
                                                                                          internalType: "struct IBaseLoan.LoanOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "capacity";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "requiresLiquidation";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "validators";
                                                                                              internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "validator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "arguments";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_tokenId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_lenderOfferSignature";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }, {
                                                                                          name: "_withCallback";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                      name: "emitLoan";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "getApprovedSigner";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getCollectionManager";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getCurrencyManager";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getImprovementMinimum";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getLiquidationAuctionDuration";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint48";
                                                                                          type: "uint48";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getLiquidator";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getLoanHash";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes32";
                                                                                          type: "bytes32";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getMaxSources";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanPrincipal";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getMinSourcePrincipal";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getPendingProtocolFee";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getPendingProtocolFeeSetTime";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getProtocolFee";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "getTotalLoansIssued";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_lender";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_offerId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "getUsedCapacity";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "isOfferCancelled";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                      name: "isRenegotiationOfferCancelled";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "isWhitelistedCallbackContract";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "lenderMinOfferId";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "lenderMinRenegotiationOfferId";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "liquidateLoan";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_collateralAddress";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_collateralTokenId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_repayment";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "loanLiquidated";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "name";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "string";
                                                                                          type: "string";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "onERC721Received";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "bytes4";
                                                                                          type: "bytes4";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "view";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "owner";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_renegotiationOfferSignature";
                                                                                          internalType: "bytes";
                                                                                          type: "bytes";
                                                                                      }];
                                                                                      name: "refinanceFull";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "refinancePartial";
                                                                                      outputs: readonly [{
                                                                                          name: "";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_renegotiationOffer";
                                                                                          internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "signer";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "targetPrincipal";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "aprBps";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "strictImprovement";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                      name: "refinancePartialBatch";
                                                                                      outputs: readonly [{
                                                                                          name: "loanId";
                                                                                          internalType: "uint256[]";
                                                                                          type: "uint256[]";
                                                                                      }, {
                                                                                          name: "loans";
                                                                                          internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                          type: "tuple[]";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_contract";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "removeWhitelistedCallbackContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_collateralTo";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }, {
                                                                                          name: "_loanId";
                                                                                          internalType: "uint256";
                                                                                          type: "uint256";
                                                                                      }, {
                                                                                          name: "_loan";
                                                                                          internalType: "struct IMultiSourceLoan.Loan";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "nftCollateralTokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "nftCollateralAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAddress";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "startTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "source";
                                                                                              internalType: "struct IMultiSourceLoan.Source[]";
                                                                                              type: "tuple[]";
                                                                                              components: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "accruedInterest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          name: "_withCallback";
                                                                                          internalType: "bool";
                                                                                          type: "bool";
                                                                                      }];
                                                                                      name: "repayLoan";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "maxSources";
                                                                                          internalType: "uint8";
                                                                                          type: "uint8";
                                                                                      }];
                                                                                      name: "setMaxSources";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [];
                                                                                      name: "setProtocolFee";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "newOwner";
                                                                                          internalType: "address";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "transferOwnership";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newMinimum";
                                                                                          internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "interest";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "duration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                      name: "updateImprovementMinimum";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newDuration";
                                                                                          internalType: "uint48";
                                                                                          type: "uint48";
                                                                                      }];
                                                                                      name: "updateLiquidationAuctionDuration";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "loanLiquidator";
                                                                                          internalType: "contract ILoanLiquidator";
                                                                                          type: "address";
                                                                                      }];
                                                                                      name: "updateLiquidationContract";
                                                                                      outputs: readonly [];
                                                                                  }, {
                                                                                      stateMutability: "nonpayable";
                                                                                      type: "function";
                                                                                      inputs: readonly [{
                                                                                          name: "_newProtocolFee";
                                                                                          internalType: "struct IBaseLoan.ProtocolFee";
                                                                                          type: "tuple";
                                                                                          components: readonly [{
                                                                                              name: "recipient";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }];
                                                                                      name: "updateProtocolFee";
                                                                                      outputs: readonly [];
                                                                                  }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ApprovedSigner" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated")[]
                                                                                      ? TFunctionName[number]
                                                                                      : TFunctionName>
                                                                                  +
                                                                                • Defined in src/contracts/BaseContract.ts:34
                                                                                • @@ -23,7 +23,7 @@

                                                                                  Hierarchy

                                                                                  • MslV5
                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:16
                                                                                • @@ -85,7 +85,7 @@
                                                                                  walletClientReturns MslV5
                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:17
                                                                                • Methods

                                                                                  @@ -130,7 +130,7 @@
                                                                                  durationvalidators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[]

                                                                                  Returns Promise<`0x${string}`>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:38
                                                                                  • @@ -165,7 +165,7 @@
                                                                                    expirationTimeduration: bigint

                                                                                  Returns Promise<`0x${string}`>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:67
                                                                                  • @@ -181,7 +181,7 @@
                                                                                    __namedParameters: id: bigint

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          lender: `0x${string}`;
                                                                                          offerId: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:88
                                                                                  • @@ -197,7 +197,7 @@
                                                                                    __namedParameters: minId: bigint

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          lender: `0x${string}`;
                                                                                          minOfferId: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:104
                                                                                  • @@ -213,7 +213,7 @@
                                                                                    __namedParameters: id: bigint

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          lender: `0x${string}`;
                                                                                          renegotiationId: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:120
                                                                                  • @@ -229,7 +229,7 @@
                                                                                    __namedParameters: minId: bigint

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          lender: `0x${string}`;
                                                                                          minRenegotiationId: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:135
                                                                                • Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          loan: {
                                                                                              contractAddress: `0x${string}`;
                                                                                              borrower: `0x${string}`;
                                                                                              nftCollateralTokenId: bigint;
                                                                                              nftCollateralAddress: `0x${string}`;
                                                                                              principalAddress: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              startTime: bigint;
                                                                                              duration: bigint;
                                                                                              source: readonly {
                                                                                                  loanId: bigint;
                                                                                                  lender: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  accruedInterest: bigint;
                                                                                                  startTime: bigint;
                                                                                                  aprBps: bigint;
                                                                                              }[];
                                                                                              id: string;
                                                                                          };
                                                                                          loanId: bigint;
                                                                                          offerId: string;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:174
                                                                                • Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          results: ({
                                                                                              loanId: bigint;
                                                                                              offerId: bigint;
                                                                                              loan: {
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                                              };
                                                                                              lender: `0x${string}`;
                                                                                              borrower: `0x${string}`;
                                                                                              fee: bigint;
                                                                                          } | {
                                                                                              delegate: `0x${string}`;
                                                                                              collection: `0x${string}`;
                                                                                              tokenId: bigint;
                                                                                          })[];
                                                                                          loan: {
                                                                                              contractAddress: `0x${string}`;
                                                                                              borrower: `0x${string}`;
                                                                                              nftCollateralTokenId: bigint;
                                                                                              nftCollateralAddress: `0x${string}`;
                                                                                              principalAddress: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              startTime: bigint;
                                                                                              duration: bigint;
                                                                                              source: readonly {
                                                                                                  loanId: bigint;
                                                                                                  lender: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  accruedInterest: bigint;
                                                                                                  startTime: bigint;
                                                                                                  aprBps: bigint;
                                                                                              }[];
                                                                                              id: string;
                                                                                          };
                                                                                          loanId: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:203
                                                                                  • @@ -278,7 +278,7 @@
                                                                                    loanloanId: bigint

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          loanId: bigint;
                                                                                          totalRepayment: bigint;
                                                                                          fee: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:265
                                                                                  • @@ -294,7 +294,7 @@
                                                                                    __namedParameters: loan: LoanV5

                                                                                  Returns Promise<number>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:291
                                                                                • +
                                                                                • Defined in src/contracts/MslV5.ts:307
                                                                                  • @@ -320,7 +320,7 @@
                                                                                    renegotiationIdrefinancings: {
                                                                                        loan: LoanV5;
                                                                                        newAprBps: bigint;
                                                                                        sources: {
                                                                                            source: {
                                                                                                loanId: bigint;
                                                                                                lender: `0x${string}`;
                                                                                                principalAmount: bigint;
                                                                                                accruedInterest: bigint;
                                                                                                startTime: bigint;
                                                                                                aprBps: bigint;
                                                                                            };
                                                                                            refinancingPrincipal: bigint;
                                                                                        }[];
                                                                                    }[]

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          results: {
                                                                                              renegotiationId: bigint;
                                                                                              oldLoanId: bigint;
                                                                                              newLoanId: bigint;
                                                                                              loan: {
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  source: readonly ({ loanId: bigint; lender: `0x${string}`; principalAmount: bigint; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                                              };
                                                                                              fee: bigint;
                                                                                          }[];
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:311
                                                                                  • @@ -359,7 +359,7 @@
                                                                                    signatureloan: LoanV5

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          loan: {
                                                                                              contractAddress: `0x${string}`;
                                                                                              borrower: `0x${string}`;
                                                                                              nftCollateralTokenId: bigint;
                                                                                              nftCollateralAddress: `0x${string}`;
                                                                                              principalAddress: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              startTime: bigint;
                                                                                              duration: bigint;
                                                                                              source: readonly {
                                                                                                  loanId: bigint;
                                                                                                  lender: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  accruedInterest: bigint;
                                                                                                  startTime: bigint;
                                                                                                  aprBps: bigint;
                                                                                              }[];
                                                                                              id: string;
                                                                                          };
                                                                                          loanId: bigint;
                                                                                          renegotiationId: string;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:376
                                                                                  • @@ -396,7 +396,7 @@
                                                                                    durationloan: LoanV5

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          loan: {
                                                                                              contractAddress: `0x${string}`;
                                                                                              borrower: `0x${string}`;
                                                                                              nftCollateralTokenId: bigint;
                                                                                              nftCollateralAddress: `0x${string}`;
                                                                                              principalAddress: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              startTime: bigint;
                                                                                              duration: bigint;
                                                                                              source: readonly {
                                                                                                  loanId: bigint;
                                                                                                  lender: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  accruedInterest: bigint;
                                                                                                  startTime: bigint;
                                                                                                  aprBps: bigint;
                                                                                              }[];
                                                                                              id: string;
                                                                                          };
                                                                                          loanId: bigint;
                                                                                          renegotiationId: string;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:391
                                                                                • +
                                                                                • Defined in src/contracts/MslV5.ts:431
                                                                                • +
                                                                                • Defined in src/contracts/MslV5.ts:435
                                                                                  • @@ -425,7 +425,7 @@

                                                                                    Parameters

                                                                                    delegations: {
                                                                                        loan: LoanV5;
                                                                                        loanId: bigint;
                                                                                        to: `0x${string}`;
                                                                                        rights?: `0x${string}`;
                                                                                        enable: boolean;
                                                                                    }[]

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          results: {
                                                                                              loanId: bigint;
                                                                                              delegate: `0x${string}`;
                                                                                              value: boolean;
                                                                                          }[];
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:439
                                                                                  • @@ -449,7 +449,7 @@
                                                                                    Optional enable: boolean

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          loan: {
                                                                                              loanId: bigint;
                                                                                              contractAddress: `0x${string}`;
                                                                                              borrower: `0x${string}`;
                                                                                              nftCollateralTokenId: bigint;
                                                                                              nftCollateralAddress: `0x${string}`;
                                                                                              principalAddress: `0x${string}`;
                                                                                              principalAmount: bigint;
                                                                                              startTime: bigint | bigint & Date;
                                                                                              duration: bigint;
                                                                                              source: readonly {
                                                                                                  loanId: bigint;
                                                                                                  lender: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  accruedInterest: bigint;
                                                                                                  startTime: bigint;
                                                                                                  aprBps: bigint;
                                                                                              }[];
                                                                                          };
                                                                                          value: boolean;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:475
                                                                                  • @@ -469,7 +469,7 @@
                                                                                    collectiontokenId: bigint

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          delegate: `0x${string}`;
                                                                                          collection: `0x${string}`;
                                                                                          tokenId: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:512
                                                                                  • @@ -487,7 +487,7 @@
                                                                                    loanloanId: bigint

                                                                                  Returns Promise<{
                                                                                      txHash: `0x${string}`;
                                                                                      waitTxInBlock: (() => Promise<{
                                                                                          loanId: bigint;
                                                                                      }>);
                                                                                  }>

                                                                                  +
                                                                                • Defined in src/contracts/MslV5.ts:537
                                                                                • Properties

                                                                                  @@ -495,13 +495,13 @@
                                                                                  +
                                                                                • Defined in src/contracts/BaseContract.ts:21
                                                                                • address: `0x${string}`
                                                                                  +
                                                                                • Defined in src/contracts/BaseContract.ts:22
                                                                                • bcClient: {}
                                                                                  @@ -510,7 +510,7 @@

                                                                                  Type declaration

                                                                                    +
                                                                                  • Defined in src/contracts/BaseContract.ts:23
                                                                                  • wallet: {}
                                                                                    @@ -519,13 +519,13 @@

                                                                                    Type declaration

                                                                                      +
                                                                                    • Defined in src/contracts/BaseContract.ts:24
                                                                                    • contract: GetContractReturnType<readonly [{
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "constructor";
                                                                                          inputs: readonly [{
                                                                                              name: "loanLiquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "protocolFee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "currencyManager";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "collectionManager";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "maxSources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "delegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "flashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "AddressZeroError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "CancelledOrExecutedOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "CancelledRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CannotLiquidateError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CollectionNotWhitelistedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ECDSAInvalidSignature";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "length";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ECDSAInvalidSignatureLength";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "s";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                          name: "ECDSAInvalidSignatureS";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ExpiredOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ExpiredRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ExtensionNotAvailableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_amount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidAmountError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidBorrowerError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidCallbackError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidCollateralIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidLenderError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidLiquidationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidLoanError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidMethodError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidProtocolFeeError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidSignatureError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidValueError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "LengthMismatchError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "LiquidatorOnlyError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "LoanExpiredError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LoanNotDueError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_newMinOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LowOfferIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_newMinRenegotiationOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LowRenegotiationOfferIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "MaxCapacityExceededError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "MinLockPeriodTooHighError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "i";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "returndata";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "MulticallFailed";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "NFTNotReturnedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "NotStrictlyImprovedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyBorrowerCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyLenderCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyLenderOrBorrowerCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "PartialOfferCannotChangeDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "PartialOfferCannotHaveFeeError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "RefinanceFullError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "minTimestamp";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "SourceCannotBeRefinancedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "sourcePrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanPrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TargetPrincipalTooLowError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_pendingProtocolFeeSetTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TooEarlyError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "sources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TooManySourcesError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ZeroDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ZeroInterestError";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "AllOffersCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "minRenegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "AllRenegotiationOffersCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "BorrowerOfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newdelegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "DelegateRegistryUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "value";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "Delegated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newFlashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "FlashActionContractUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "target";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "data";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "FlashActionExecuted";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "minimum";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ImprovementMinimumUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newDuration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LiquidationAuctionDurationUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LiquidationContractUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanEmitted";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "oldLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "newLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "_extension";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanExtended";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanForeclosed";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanLiquidated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "oldLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "newLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanRefinanced";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "totalRepayment";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanRepaid";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanSentToLiquidator";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newMax";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "MaxSourcesUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "MinLockPeriodUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "OfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "user";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: true;
                                                                                          }, {
                                                                                              name: "newOwner";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: true;
                                                                                          }];
                                                                                          name: "OwnershipTransferred";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "fee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ProtocolFeePendingUpdate";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "fee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ProtocolFeeUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "RenegotiationOfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "collection";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "tokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "RevokeDelegate";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "contractAdded";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "tax";
                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "buyTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }, {
                                                                                                  name: "sellTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "WhitelistedCallbackContractAdded";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "contractRemoved";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "WhitelistedCallbackContractRemoved";
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "DOMAIN_SEPARATOR";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "FEE_UPDATE_NOTICE";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "MAX_PROTOCOL_FEE";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "MIN_AUCTION_DURATION";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_tax";
                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "buyTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }, {
                                                                                                  name: "sellTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }];
                                                                                          }];
                                                                                          name: "addWhitelistedCallbackContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelAllOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_minRenegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelAllRenegotiationOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelOffer";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_offerIds";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }];
                                                                                          name: "cancelOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelRenegotiationOffer";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationIds";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }];
                                                                                          name: "cancelRenegotiationOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_rights";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }, {
                                                                                              name: "_value";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                          name: "delegate";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_executionData";
                                                                                              internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "executionData";
                                                                                                  internalType: "struct IBaseLoan.ExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "offer";
                                                                                                      internalType: "struct IBaseLoan.LoanOffer";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "fee";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "borrower";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "capacity";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "nftCollateralAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "nftCollateralTokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "validators";
                                                                                                          internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "validator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "arguments";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "amount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "callbackData";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "lenderOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }, {
                                                                                                  name: "borrowerOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                          name: "emitLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_target";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_data";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "executeFlashAction";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_extension";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "extendLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getCollectionManager";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getCurrencyManager";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getDelegateRegistry";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getFlashActionContract";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getImprovementMinimum";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getLiquidationAuctionDuration";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getLiquidator";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getLoanHash";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getMaxSources";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getMinLockPeriod";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanPrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getMinSourcePrincipal";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getPendingProtocolFee";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getPendingProtocolFeeSetTime";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getProtocolFee";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getTotalLoansIssued";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getUsedCapacity";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isBorrowerOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isRenegotiationOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "isWhitelistedCallbackContract";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "lenderMinRenegotiationOfferId";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "liquidateLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "loanLiquidated";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "minOfferId";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "payable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "data";
                                                                                              internalType: "bytes[]";
                                                                                              type: "bytes[]";
                                                                                          }];
                                                                                          name: "multicall";
                                                                                          outputs: readonly [{
                                                                                              name: "results";
                                                                                              internalType: "bytes[]";
                                                                                              type: "bytes[]";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "name";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "string";
                                                                                              type: "string";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "onERC721Received";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes4";
                                                                                              type: "bytes4";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "owner";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationOffer";
                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "targetPrincipal";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_renegotiationOfferSignature";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "refinanceFull";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationOffer";
                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "targetPrincipal";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "refinancePartial";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "removeWhitelistedCallbackContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_repaymentData";
                                                                                              internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "data";
                                                                                                  internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "callbackData";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }, {
                                                                                                      name: "shouldDelegate";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "source";
                                                                                                      internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "borrowerSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                          name: "repayLoan";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_collection";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_tokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "revokeDelegate";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newDelegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "setDelegateRegistry";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newFlashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "setFlashActionContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "__maxSources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "setMaxSources";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "__minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "setMinLockPeriod";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "setProtocolFee";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "newOwner";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "transferOwnership";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newMinimum";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          name: "updateImprovementMinimum";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newDuration";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                          name: "updateLiquidationAuctionDuration";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "loanLiquidator";
                                                                                              internalType: "contract ILoanLiquidator";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "updateLiquidationContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newProtocolFee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          name: "updateProtocolFee";
                                                                                          outputs: readonly [];
                                                                                      }], {} | {}>
                                                                                      +
                                                                                    • Defined in src/contracts/BaseContract.ts:25
                                                                                    • safeContractWrite: {
                                                                                          transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                                          liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                          onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                                          addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                          cancelAllOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                          cancelAllRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                          cancelOffer: ((args, options?) => Promise<`0x${string}`>);
                                                                                          cancelOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                          cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>);
                                                                                          cancelRenegotiationOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                          loanLiquidated: ((args, options?) => Promise<`0x${string}`>);
                                                                                          removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                          setProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                                                          updateImprovementMinimum: ((args, options?) => Promise<`0x${string}`>);
                                                                                          updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>);
                                                                                          updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                          updateProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                                                          emitLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                          refinanceFull: ((args, options?) => Promise<`0x${string}`>);
                                                                                          refinancePartial: ((args, options?) => Promise<`0x${string}`>);
                                                                                          repayLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                          setMaxSources: ((args, options?) => Promise<`0x${string}`>);
                                                                                          multicall: ((args, options?) => Promise<`0x${string}`>);
                                                                                          delegate: ((args, options?) => Promise<`0x${string}`>);
                                                                                          revokeDelegate: ((args, options?) => Promise<`0x${string}`>);
                                                                                          executeFlashAction: ((args, options?) => Promise<`0x${string}`>);
                                                                                          extendLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                          setDelegateRegistry: ((args, options?) => Promise<`0x${string}`>);
                                                                                          setFlashActionContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                          setMinLockPeriod: ((args, options?) => Promise<`0x${string}`>);
                                                                                      }
                                                                                      @@ -1074,7 +1074,7 @@
                                                                                      Optional Returns Promise<`0x${string}`>
                                                                                      +
                                                                                    • Defined in src/contracts/BaseContract.ts:27
                                                                                    • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "constructor";
                                                                                          inputs: readonly [{
                                                                                              name: "loanLiquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "protocolFee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "currencyManager";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "collectionManager";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "maxSources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "delegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "flashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "AddressZeroError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "CancelledOrExecutedOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "CancelledRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CannotLiquidateError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CollectionNotWhitelistedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ECDSAInvalidSignature";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "length";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ECDSAInvalidSignatureLength";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "s";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                          name: "ECDSAInvalidSignatureS";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ExpiredOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ExpiredRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ExtensionNotAvailableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_amount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidAmountError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidBorrowerError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidCallbackError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidCollateralIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidLenderError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidLiquidationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidLoanError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidMethodError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidProtocolFeeError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidSignatureError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidValueError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "LengthMismatchError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "LiquidatorOnlyError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "LoanExpiredError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LoanNotDueError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_newMinOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LowOfferIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_newMinRenegotiationOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LowRenegotiationOfferIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "MaxCapacityExceededError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "MinLockPeriodTooHighError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "i";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "returndata";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "MulticallFailed";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "NFTNotReturnedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "NotStrictlyImprovedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyBorrowerCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyLenderCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyLenderOrBorrowerCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "PartialOfferCannotChangeDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "PartialOfferCannotHaveFeeError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "RefinanceFullError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "minTimestamp";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "SourceCannotBeRefinancedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "sourcePrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanPrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TargetPrincipalTooLowError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_pendingProtocolFeeSetTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TooEarlyError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "sources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TooManySourcesError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ZeroDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ZeroInterestError";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "AllOffersCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "minRenegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "AllRenegotiationOffersCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "BorrowerOfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newdelegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "DelegateRegistryUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "value";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "Delegated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newFlashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "FlashActionContractUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "target";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "data";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "FlashActionExecuted";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "minimum";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ImprovementMinimumUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newDuration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LiquidationAuctionDurationUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LiquidationContractUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanEmitted";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "oldLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "newLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "_extension";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanExtended";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanForeclosed";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanLiquidated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "oldLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "newLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanRefinanced";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "totalRepayment";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanRepaid";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanSentToLiquidator";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newMax";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "MaxSourcesUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "MinLockPeriodUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "OfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "user";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: true;
                                                                                          }, {
                                                                                              name: "newOwner";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: true;
                                                                                          }];
                                                                                          name: "OwnershipTransferred";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "fee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ProtocolFeePendingUpdate";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "fee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ProtocolFeeUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "RenegotiationOfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "collection";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "tokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "RevokeDelegate";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "contractAdded";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "tax";
                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "buyTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }, {
                                                                                                  name: "sellTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "WhitelistedCallbackContractAdded";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "contractRemoved";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "WhitelistedCallbackContractRemoved";
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "DOMAIN_SEPARATOR";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "FEE_UPDATE_NOTICE";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "MAX_PROTOCOL_FEE";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "MIN_AUCTION_DURATION";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_tax";
                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "buyTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }, {
                                                                                                  name: "sellTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }];
                                                                                          }];
                                                                                          name: "addWhitelistedCallbackContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelAllOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_minRenegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelAllRenegotiationOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelOffer";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_offerIds";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }];
                                                                                          name: "cancelOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelRenegotiationOffer";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationIds";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }];
                                                                                          name: "cancelRenegotiationOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_rights";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }, {
                                                                                              name: "_value";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                          name: "delegate";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_executionData";
                                                                                              internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "executionData";
                                                                                                  internalType: "struct IBaseLoan.ExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "offer";
                                                                                                      internalType: "struct IBaseLoan.LoanOffer";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "fee";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "borrower";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "capacity";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "nftCollateralAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "nftCollateralTokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "validators";
                                                                                                          internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "validator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "arguments";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "amount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "callbackData";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "lenderOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }, {
                                                                                                  name: "borrowerOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                          name: "emitLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_target";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_data";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "executeFlashAction";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_extension";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "extendLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getCollectionManager";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getCurrencyManager";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getDelegateRegistry";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getFlashActionContract";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getImprovementMinimum";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getLiquidationAuctionDuration";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getLiquidator";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getLoanHash";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getMaxSources";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getMinLockPeriod";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanPrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getMinSourcePrincipal";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getPendingProtocolFee";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getPendingProtocolFeeSetTime";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getProtocolFee";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getTotalLoansIssued";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getUsedCapacity";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isBorrowerOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isRenegotiationOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "isWhitelistedCallbackContract";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "lenderMinRenegotiationOfferId";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "liquidateLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "loanLiquidated";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "minOfferId";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "payable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "data";
                                                                                              internalType: "bytes[]";
                                                                                              type: "bytes[]";
                                                                                          }];
                                                                                          name: "multicall";
                                                                                          outputs: readonly [{
                                                                                              name: "results";
                                                                                              internalType: "bytes[]";
                                                                                              type: "bytes[]";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "name";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "string";
                                                                                              type: "string";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "onERC721Received";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes4";
                                                                                              type: "bytes4";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "owner";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationOffer";
                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "targetPrincipal";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_renegotiationOfferSignature";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "refinanceFull";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationOffer";
                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "targetPrincipal";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "refinancePartial";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "removeWhitelistedCallbackContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_repaymentData";
                                                                                              internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "data";
                                                                                                  internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "callbackData";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }, {
                                                                                                      name: "shouldDelegate";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "source";
                                                                                                      internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "borrowerSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                          name: "repayLoan";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_collection";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_tokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "revokeDelegate";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newDelegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "setDelegateRegistry";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newFlashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "setFlashActionContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "__maxSources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "setMaxSources";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "__minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "setMinLockPeriod";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "setProtocolFee";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "newOwner";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "transferOwnership";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newMinimum";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          name: "updateImprovementMinimum";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newDuration";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                          name: "updateLiquidationAuctionDuration";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "loanLiquidator";
                                                                                              internalType: "contract ILoanLiquidator";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "updateLiquidationContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newProtocolFee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          name: "updateProtocolFee";
                                                                                          outputs: readonly [];
                                                                                      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated" | "BorrowerOfferCancelled" | "RevokeDelegate" | "DelegateRegistryUpdated" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "LoanExtended" | "MinLockPeriodUpdated")[]
                                                                                          ? TFunctionName[number]
                                                                                          : TFunctionName>)
                                                                                      @@ -1100,7 +1100,7 @@
                                                                                      logs: Returns ParseEventLogsReturnType<readonly [{
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "constructor";
                                                                                          inputs: readonly [{
                                                                                              name: "loanLiquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "protocolFee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "currencyManager";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "collectionManager";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "maxSources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "delegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "flashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "AddressZeroError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "CancelledOrExecutedOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "CancelledRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CannotLiquidateError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CollectionNotWhitelistedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ECDSAInvalidSignature";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "length";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ECDSAInvalidSignatureLength";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "s";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                          name: "ECDSAInvalidSignatureS";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ExpiredOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "ExpiredRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ExtensionNotAvailableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_amount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_principalAmount";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidAmountError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidBorrowerError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidCallbackError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidCollateralIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidLenderError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidLiquidationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidLoanError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidMethodError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_fraction";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "InvalidProtocolFeeError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidRenegotiationOfferError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidSignatureError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "InvalidValueError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "LengthMismatchError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "LiquidatorOnlyError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "LoanExpiredError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_expirationTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LoanNotDueError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_newMinOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LowOfferIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_newMinRenegotiationOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "LowRenegotiationOfferIdError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "MaxCapacityExceededError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "MinLockPeriodTooHighError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "i";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "returndata";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "MulticallFailed";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "NFTNotReturnedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "NotStrictlyImprovedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyBorrowerCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyLenderCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "OnlyLenderOrBorrowerCallableError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "PartialOfferCannotChangeDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "PartialOfferCannotHaveFeeError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "RefinanceFullError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "minTimestamp";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "SourceCannotBeRefinancedError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "sourcePrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loanPrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TargetPrincipalTooLowError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "_pendingProtocolFeeSetTime";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TooEarlyError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [{
                                                                                              name: "sources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "TooManySourcesError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ZeroDurationError";
                                                                                      }, {
                                                                                          type: "error";
                                                                                          inputs: readonly [];
                                                                                          name: "ZeroInterestError";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "AllOffersCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "minRenegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "AllRenegotiationOffersCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "BorrowerOfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newdelegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "DelegateRegistryUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "value";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "Delegated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newFlashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "FlashActionContractUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "target";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "data";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "FlashActionExecuted";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "minimum";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ImprovementMinimumUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newDuration";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LiquidationAuctionDurationUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LiquidationContractUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "borrower";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanEmitted";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "oldLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "newLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "_extension";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanExtended";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanForeclosed";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanLiquidated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "oldLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "newLoanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanRefinanced";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "totalRepayment";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "fee";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanRepaid";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "liquidator";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "LoanSentToLiquidator";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "newMax";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "MaxSourcesUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "MinLockPeriodUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "OfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "user";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: true;
                                                                                          }, {
                                                                                              name: "newOwner";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: true;
                                                                                          }];
                                                                                          name: "OwnershipTransferred";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "fee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ProtocolFeePendingUpdate";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "fee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "ProtocolFeeUpdated";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "RenegotiationOfferCancelled";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "collection";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "tokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "RevokeDelegate";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "contractAdded";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }, {
                                                                                              name: "tax";
                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "buyTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }, {
                                                                                                  name: "sellTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }];
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "WhitelistedCallbackContractAdded";
                                                                                      }, {
                                                                                          type: "event";
                                                                                          anonymous: false;
                                                                                          inputs: readonly [{
                                                                                              name: "contractRemoved";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                              indexed: false;
                                                                                          }];
                                                                                          name: "WhitelistedCallbackContractRemoved";
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "DOMAIN_SEPARATOR";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "FEE_UPDATE_NOTICE";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "MAX_PROTOCOL_FEE";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "MIN_AUCTION_DURATION";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_tax";
                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "buyTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }, {
                                                                                                  name: "sellTax";
                                                                                                  internalType: "uint128";
                                                                                                  type: "uint128";
                                                                                              }];
                                                                                          }];
                                                                                          name: "addWhitelistedCallbackContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_minOfferId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelAllOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_minRenegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelAllRenegotiationOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelOffer";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_offerIds";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }];
                                                                                          name: "cancelOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "cancelRenegotiationOffer";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationIds";
                                                                                              internalType: "uint256[]";
                                                                                              type: "uint256[]";
                                                                                          }];
                                                                                          name: "cancelRenegotiationOffers";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_rights";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }, {
                                                                                              name: "_value";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                          name: "delegate";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_executionData";
                                                                                              internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "executionData";
                                                                                                  internalType: "struct IBaseLoan.ExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "offer";
                                                                                                      internalType: "struct IBaseLoan.LoanOffer";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "fee";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "borrower";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "capacity";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "nftCollateralAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "nftCollateralTokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "validators";
                                                                                                          internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "validator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "arguments";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "amount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "callbackData";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "lenderOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }, {
                                                                                                  name: "borrowerOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                          name: "emitLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_target";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_data";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "executeFlashAction";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_extension";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "extendLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getCollectionManager";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getCurrencyManager";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getDelegateRegistry";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getFlashActionContract";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getImprovementMinimum";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getLiquidationAuctionDuration";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getLiquidator";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getLoanHash";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes32";
                                                                                              type: "bytes32";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getMaxSources";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getMinLockPeriod";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanPrincipal";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getMinSourcePrincipal";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getPendingProtocolFee";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getPendingProtocolFeeSetTime";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getProtocolFee";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "getTotalLoansIssued";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_lender";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_offerId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "getUsedCapacity";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isBorrowerOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "isRenegotiationOfferCancelled";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "isWhitelistedCallbackContract";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bool";
                                                                                              type: "bool";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "lenderMinRenegotiationOfferId";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "liquidateLoan";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_loanId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "loanLiquidated";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "minOfferId";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "payable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "data";
                                                                                              internalType: "bytes[]";
                                                                                              type: "bytes[]";
                                                                                          }];
                                                                                          name: "multicall";
                                                                                          outputs: readonly [{
                                                                                              name: "results";
                                                                                              internalType: "bytes[]";
                                                                                              type: "bytes[]";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "name";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "string";
                                                                                              type: "string";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "onERC721Received";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "bytes4";
                                                                                              type: "bytes4";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "view";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "owner";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationOffer";
                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "targetPrincipal";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_renegotiationOfferSignature";
                                                                                              internalType: "bytes";
                                                                                              type: "bytes";
                                                                                          }];
                                                                                          name: "refinanceFull";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_renegotiationOffer";
                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "targetPrincipal";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "aprBps";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }, {
                                                                                              name: "_loan";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                          name: "refinancePartial";
                                                                                          outputs: readonly [{
                                                                                              name: "";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }, {
                                                                                              name: "";
                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "borrower";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "nftCollateralTokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "nftCollateralAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAddress";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "startTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "source";
                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                  type: "tuple[]";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "accruedInterest";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                          }];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_contract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "removeWhitelistedCallbackContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_repaymentData";
                                                                                              internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "data";
                                                                                                  internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "callbackData";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }, {
                                                                                                      name: "shouldDelegate";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "source";
                                                                                                      internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "borrowerSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                          }];
                                                                                          name: "repayLoan";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_delegate";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_collection";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }, {
                                                                                              name: "_tokenId";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "revokeDelegate";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newDelegateRegistry";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "setDelegateRegistry";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newFlashActionContract";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "setFlashActionContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "__maxSources";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "setMaxSources";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "__minLockPeriod";
                                                                                              internalType: "uint256";
                                                                                              type: "uint256";
                                                                                          }];
                                                                                          name: "setMinLockPeriod";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [];
                                                                                          name: "setProtocolFee";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "newOwner";
                                                                                              internalType: "address";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "transferOwnership";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newMinimum";
                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "interest";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "duration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          name: "updateImprovementMinimum";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newDuration";
                                                                                              internalType: "uint48";
                                                                                              type: "uint48";
                                                                                          }];
                                                                                          name: "updateLiquidationAuctionDuration";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "loanLiquidator";
                                                                                              internalType: "contract ILoanLiquidator";
                                                                                              type: "address";
                                                                                          }];
                                                                                          name: "updateLiquidationContract";
                                                                                          outputs: readonly [];
                                                                                      }, {
                                                                                          stateMutability: "nonpayable";
                                                                                          type: "function";
                                                                                          inputs: readonly [{
                                                                                              name: "_newProtocolFee";
                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                              type: "tuple";
                                                                                              components: readonly [{
                                                                                                  name: "recipient";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "fraction";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                          }];
                                                                                          name: "updateProtocolFee";
                                                                                          outputs: readonly [];
                                                                                      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "AllRenegotiationOffersCancelled" | "ImprovementMinimumUpdated" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "MaxSourcesUpdated" | "BorrowerOfferCancelled" | "RevokeDelegate" | "DelegateRegistryUpdated" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "LoanExtended" | "MinLockPeriodUpdated")[]
                                                                                          ? TFunctionName[number]
                                                                                          : TFunctionName>
                                                                                      +
                                                                                    • Defined in src/contracts/BaseContract.ts:34
                                                                                    • @@ -23,7 +23,7 @@

                                                                                      Hierarchy

                                                                                      • MslV6
                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:15
                                                                                    • @@ -85,7 +85,7 @@
                                                                                      walletClientReturns MslV6
                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:16
                                                                                    • Methods

                                                                                      @@ -130,7 +130,7 @@
                                                                                      maxSeniorRepaymentvalidators: readonly ({ validator: `0x${string}`; arguments: `0x${string}`; })[]

                                                                                      Returns Promise<`0x${string}`>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:37
                                                                                      • @@ -165,7 +165,7 @@
                                                                                        expirationTimeduration: bigint

                                                                                      Returns Promise<`0x${string}`>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:66
                                                                                      • @@ -181,7 +181,7 @@
                                                                                        __namedParameters: id: bigint

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              lender: `0x${string}`;
                                                                                              offerId: bigint;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:87
                                                                                      • @@ -197,7 +197,7 @@
                                                                                        __namedParameters: minId: bigint

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              lender: `0x${string}`;
                                                                                              minOfferId: bigint;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:103
                                                                                      • @@ -213,7 +213,7 @@
                                                                                        __namedParameters: id: bigint

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              lender: `0x${string}`;
                                                                                              renegotiationId: bigint;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:119
                                                                                      • @@ -229,7 +229,7 @@
                                                                                        _: minId: bigint

                                                                                      Returns Promise<void>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:134
                                                                                    • Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loan: {
                                                                                                  contractAddress: `0x${string}`;
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  tranche: readonly {
                                                                                                      loanId: bigint;
                                                                                                      floor: bigint;
                                                                                                      principalAmount: bigint;
                                                                                                      lender: `0x${string}`;
                                                                                                      accruedInterest: bigint;
                                                                                                      startTime: bigint;
                                                                                                      aprBps: bigint;
                                                                                                  }[];
                                                                                                  protocolFee: bigint;
                                                                                                  id: string;
                                                                                              };
                                                                                              loanId: bigint;
                                                                                              offerIds: string[];
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:169
                                                                                    • Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              results: ({
                                                                                                  loanId: bigint;
                                                                                                  offerId: readonly bigint[];
                                                                                                  loan: {
                                                                                                      borrower: `0x${string}`;
                                                                                                      nftCollateralTokenId: bigint;
                                                                                                      nftCollateralAddress: `0x${string}`;
                                                                                                      principalAddress: `0x${string}`;
                                                                                                      principalAmount: bigint;
                                                                                                      startTime: bigint;
                                                                                                      duration: bigint;
                                                                                                      tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                                                      protocolFee: bigint;
                                                                                                  };
                                                                                                  fee: bigint;
                                                                                              } | {
                                                                                                  delegate: `0x${string}`;
                                                                                                  collection: `0x${string}`;
                                                                                                  tokenId: bigint;
                                                                                              })[];
                                                                                              loan: {
                                                                                                  contractAddress: `0x${string}`;
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  tranche: readonly {
                                                                                                      loanId: bigint;
                                                                                                      floor: bigint;
                                                                                                      principalAmount: bigint;
                                                                                                      lender: `0x${string}`;
                                                                                                      accruedInterest: bigint;
                                                                                                      startTime: bigint;
                                                                                                      aprBps: bigint;
                                                                                                  }[];
                                                                                                  protocolFee: bigint;
                                                                                                  id: string;
                                                                                              };
                                                                                              loanId: bigint;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:201
                                                                                      • @@ -278,7 +278,7 @@
                                                                                        loanloanId: bigint

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loanId: bigint;
                                                                                              totalRepayment: bigint;
                                                                                              fee: bigint;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:263
                                                                                      • @@ -294,7 +294,7 @@
                                                                                        __namedParameters: loan: LoanV6

                                                                                      Returns Promise<number>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:289
                                                                                      • @@ -310,7 +310,7 @@
                                                                                        __namedParameters: loan: LoanV6

                                                                                      Returns Promise<boolean>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:305
                                                                                      • @@ -328,7 +328,7 @@
                                                                                        renegotiationIdrefinancings: {
                                                                                            loan: LoanV6;
                                                                                            newAprBps: bigint;
                                                                                            sources: {
                                                                                                source: {
                                                                                                    loanId: bigint;
                                                                                                    floor: bigint;
                                                                                                    principalAmount: bigint;
                                                                                                    lender: `0x${string}`;
                                                                                                    accruedInterest: bigint;
                                                                                                    startTime: bigint;
                                                                                                    aprBps: bigint;
                                                                                                } & {
                                                                                                    loanIndex: number;
                                                                                                };
                                                                                                refinancingPrincipal: bigint;
                                                                                            }[];
                                                                                        }[]

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              results: {
                                                                                                  renegotiationId: bigint;
                                                                                                  oldLoanId: bigint;
                                                                                                  newLoanId: bigint;
                                                                                                  loan: {
                                                                                                      borrower: `0x${string}`;
                                                                                                      nftCollateralTokenId: bigint;
                                                                                                      nftCollateralAddress: `0x${string}`;
                                                                                                      principalAddress: `0x${string}`;
                                                                                                      principalAmount: bigint;
                                                                                                      startTime: bigint;
                                                                                                      duration: bigint;
                                                                                                      tranche: readonly ({ loanId: bigint; floor: bigint; principalAmount: bigint; lender: `0x${string}`; accruedInterest: bigint; startTime: bigint; aprBps: bigint; })[];
                                                                                                      protocolFee: bigint;
                                                                                                  };
                                                                                                  fee: bigint;
                                                                                              }[];
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:315
                                                                                      • @@ -367,7 +367,7 @@
                                                                                        signatureloan: LoanV6

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loan: {
                                                                                                  contractAddress: `0x${string}`;
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  tranche: readonly {
                                                                                                      loanId: bigint;
                                                                                                      floor: bigint;
                                                                                                      principalAmount: bigint;
                                                                                                      lender: `0x${string}`;
                                                                                                      accruedInterest: bigint;
                                                                                                      startTime: bigint;
                                                                                                      aprBps: bigint;
                                                                                                  }[];
                                                                                                  protocolFee: bigint;
                                                                                                  id: string;
                                                                                              };
                                                                                              loanId: bigint;
                                                                                              renegotiationId: string;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:377
                                                                                      • @@ -404,7 +404,7 @@
                                                                                        durationloan: LoanV6

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loan: {
                                                                                                  contractAddress: `0x${string}`;
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  tranche: readonly {
                                                                                                      loanId: bigint;
                                                                                                      floor: bigint;
                                                                                                      principalAmount: bigint;
                                                                                                      lender: `0x${string}`;
                                                                                                      accruedInterest: bigint;
                                                                                                      startTime: bigint;
                                                                                                      aprBps: bigint;
                                                                                                  }[];
                                                                                                  protocolFee: bigint;
                                                                                                  id: string;
                                                                                              };
                                                                                              loanId: bigint;
                                                                                              renegotiationId: string;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:392
                                                                                      • @@ -443,7 +443,7 @@
                                                                                        signatureloan: LoanV6

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loan: {
                                                                                                  contractAddress: `0x${string}`;
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  tranche: readonly {
                                                                                                      loanId: bigint;
                                                                                                      floor: bigint;
                                                                                                      principalAmount: bigint;
                                                                                                      lender: `0x${string}`;
                                                                                                      accruedInterest: bigint;
                                                                                                      startTime: bigint;
                                                                                                      aprBps: bigint;
                                                                                                  }[];
                                                                                                  protocolFee: bigint;
                                                                                                  id: string;
                                                                                              };
                                                                                              loanId: bigint;
                                                                                              renegotiationId: string;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:399
                                                                                    • Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loan: {
                                                                                                  contractAddress: `0x${string}`;
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint;
                                                                                                  duration: bigint;
                                                                                                  tranche: readonly {
                                                                                                      loanId: bigint;
                                                                                                      floor: bigint;
                                                                                                      principalAmount: bigint;
                                                                                                      lender: `0x${string}`;
                                                                                                      accruedInterest: bigint;
                                                                                                      startTime: bigint;
                                                                                                      aprBps: bigint;
                                                                                                  }[];
                                                                                                  protocolFee: bigint;
                                                                                                  id: string;
                                                                                              };
                                                                                              loanId: bigint;
                                                                                              offerIds: string[];
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:414
                                                                                      • @@ -476,7 +476,7 @@

                                                                                        Parameters

                                                                                        delegations: {
                                                                                            loan: LoanV6;
                                                                                            loanId: bigint;
                                                                                            to: `0x${string}`;
                                                                                            rights?: `0x${string}`;
                                                                                            enable: boolean;
                                                                                        }[]

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              results: {
                                                                                                  loanId: bigint;
                                                                                                  delegate: `0x${string}`;
                                                                                                  value: boolean;
                                                                                              }[];
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:491
                                                                                      • @@ -500,7 +500,7 @@
                                                                                        Optional enable: boolean

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loan: {
                                                                                                  loanId: bigint;
                                                                                                  contractAddress: `0x${string}`;
                                                                                                  borrower: `0x${string}`;
                                                                                                  nftCollateralTokenId: bigint;
                                                                                                  nftCollateralAddress: `0x${string}`;
                                                                                                  principalAddress: `0x${string}`;
                                                                                                  principalAmount: bigint;
                                                                                                  startTime: bigint | bigint & Date;
                                                                                                  duration: bigint;
                                                                                                  tranche: readonly {
                                                                                                      loanId: bigint;
                                                                                                      floor: bigint;
                                                                                                      principalAmount: bigint;
                                                                                                      lender: `0x${string}`;
                                                                                                      accruedInterest: bigint;
                                                                                                      startTime: bigint;
                                                                                                      aprBps: bigint;
                                                                                                  }[];
                                                                                                  protocolFee: bigint;
                                                                                                  contractStartTime: bigint | Date;
                                                                                              };
                                                                                              value: boolean;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:527
                                                                                      • @@ -520,7 +520,7 @@
                                                                                        collectiontokenId: bigint

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              delegate: `0x${string}`;
                                                                                              collection: `0x${string}`;
                                                                                              tokenId: bigint;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:564
                                                                                      • @@ -538,7 +538,7 @@
                                                                                        loanloanId: bigint

                                                                                      Returns Promise<{
                                                                                          txHash: `0x${string}`;
                                                                                          waitTxInBlock: (() => Promise<{
                                                                                              loanId: bigint;
                                                                                          }>);
                                                                                      }>

                                                                                      +
                                                                                    • Defined in src/contracts/MslV6.ts:589
                                                                                    • Properties

                                                                                      @@ -546,13 +546,13 @@
                                                                                      +
                                                                                    • Defined in src/contracts/BaseContract.ts:21
                                                                                    • address: `0x${string}`
                                                                                      +
                                                                                    • Defined in src/contracts/BaseContract.ts:22
                                                                                    • bcClient: {}
                                                                                      @@ -561,7 +561,7 @@

                                                                                      Type declaration

                                                                                        +
                                                                                      • Defined in src/contracts/BaseContract.ts:23
                                                                                      • wallet: {}
                                                                                        @@ -570,13 +570,13 @@

                                                                                        Type declaration

                                                                                          +
                                                                                        • Defined in src/contracts/BaseContract.ts:24
                                                                                        • contract: GetContractReturnType<readonly [{
                                                                                              type: "constructor";
                                                                                              inputs: readonly [{
                                                                                                  name: "loanLiquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "protocolFee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "currencyManager";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "collectionManager";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "maxTranches";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "delegateRegistry";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "loanManagerRegistry";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "flashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "minWaitTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "AddressZeroError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "CancelledOrExecutedOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "CollectionNotWhitelistedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "CurrencyNotWhitelistedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "ECDSAInvalidSignature";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "length";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "ECDSAInvalidSignatureLength";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "s";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              name: "ECDSAInvalidSignatureS";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "ExpiredOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidAddressesError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_amount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "InvalidAmountError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCallbackError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCallerError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCollateralIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidDurationError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidInputError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "InvalidLoanError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidMethodError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidParametersError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidRenegotiationOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidSignatureError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidTrancheError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "LiquidatorOnlyError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "LoanExpiredError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "LoanLockedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LoanNotDueError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_newMinOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LowOfferIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_newMinRenegotiationOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LowRenegotiationOfferIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "MaxCapacityExceededError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "MismatchError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "i";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "returndata";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "MulticallFailed";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "NFTNotReturnedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "NotStrictlyImprovedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_pendingProtocolFeeSetTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "TooEarlyError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "TooManyTranchesError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "TooSoonError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "minTimestamp";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "TrancheCannotBeRefinancedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "ZeroInterestError";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "AllOffersCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "value";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "Delegated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newFlashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "FlashActionContractUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "target";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "data";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "FlashActionExecuted";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newDuration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LiquidationAuctionDurationUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LiquidationContractUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanEmitted";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanForeclosed";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanLiquidated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "oldLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "newLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRefinanced";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "newLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerIds";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "totalFee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRefinancedFromNewOffers";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "totalRepayment";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRepaid";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanSentToLiquidator";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "_minimum";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinAprImprovementUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newMinBid";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinBidLiquidationUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinLockPeriodUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "OfferCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: true;
                                                                                              }, {
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: true;
                                                                                              }];
                                                                                              name: "OwnershipTransferred";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "fee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "ProtocolFeePendingUpdate";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "fee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "ProtocolFeeUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "RenegotiationOfferCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "collection";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "tokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "RevokeDelegate";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "TransferOwnerRequested";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "contractAdded";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "WhitelistedCallbackContractAdded";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "contractRemoved";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "WhitelistedCallbackContractRemoved";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "DOMAIN_SEPARATOR";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "FEE_UPDATE_NOTICE";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MAX_AUCTION_DURATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_AUCTION_DURATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_BID_LIQUIDATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_WAIT_TIME";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "VERSION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_renegotiationOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "addNewTranche";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "addWhitelistedCallbackContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelAllOffers";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelOffer";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelRenegotiationOffer";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_rights";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }, {
                                                                                                  name: "_value";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              name: "delegate";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanExecutionData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "executionData";
                                                                                                      internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerExecution";
                                                                                                          internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "offer";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "offerId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "capacity";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "maxSeniorRepayment";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "validators";
                                                                                                                  internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "validator";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "arguments";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lenderOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalReceiver";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "borrowerOfferSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "emitLoan";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_target";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_data";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "executeFlashAction";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getCollectionManager";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getCurrencyManager";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getDelegateRegistry";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getFlashActionContract";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLiquidationAuctionDuration";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLiquidator";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "getLoanHash";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLoanManagerRegistry";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "contract ILoanManagerRegistry";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMaxTranches";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMinImprovementApr";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMinLockPeriod";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getPendingProtocolFee";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getPendingProtocolFeeSetTime";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getProtocolFee";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getTotalLoansIssued";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "getUsedCapacity";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "isOfferCancelled";
                                                                                              outputs: readonly [{
                                                                                                  name: "notActive";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "renegotiationIf";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "isRenegotiationOfferCancelled";
                                                                                              outputs: readonly [{
                                                                                                  name: "notActive";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "isWhitelistedCallbackContract";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "liquidateLoan";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "loanLiquidated";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "minOfferId";
                                                                                              outputs: readonly [{
                                                                                                  name: "minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "data";
                                                                                                  internalType: "bytes[]";
                                                                                                  type: "bytes[]";
                                                                                              }];
                                                                                              name: "multicall";
                                                                                              outputs: readonly [{
                                                                                                  name: "results";
                                                                                                  internalType: "bytes[]";
                                                                                                  type: "bytes[]";
                                                                                              }];
                                                                                              stateMutability: "payable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "name";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "string";
                                                                                                  type: "string";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "onERC721Received";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes4";
                                                                                                  type: "bytes4";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "owner";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "pendingOwner";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "pendingOwnerTime";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loanExecutionData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "executionData";
                                                                                                      internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerExecution";
                                                                                                          internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "offer";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "offerId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "capacity";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "maxSeniorRepayment";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "validators";
                                                                                                                  internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "validator";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "arguments";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lenderOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalReceiver";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "borrowerOfferSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "refinanceFromLoanExecutionData";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_renegotiationOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "refinanceFull";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "refinancePartial";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "removeWhitelistedCallbackContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_repaymentData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "data";
                                                                                                      internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }, {
                                                                                                          name: "shouldDelegate";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "loan";
                                                                                                      internalType: "struct IMultiSourceLoan.Loan";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "borrower";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "nftCollateralTokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "nftCollateralAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "tranche";
                                                                                                          internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "floor";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "principalAmount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "accruedInterest";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "startTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "aprBps";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "protocolFee";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrowerSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "repayLoan";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "requestTransferOwner";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_collection";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_tokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "revokeDelegate";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newFlashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "setFlashActionContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "__minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "setMinLockPeriod";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "setProtocolFee";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "transferOwnership";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "transferOwnership";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newDuration";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              name: "updateLiquidationAuctionDuration";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "__loanLiquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "updateLiquidationContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newMinimum";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "updateMinImprovementApr";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newProtocolFee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "updateProtocolFee";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }], {} | {}>
                                                                                          +
                                                                                        • Defined in src/contracts/BaseContract.ts:25
                                                                                        • safeContractWrite: {
                                                                                              transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                                              liquidateLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                              onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                                              addWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                              cancelAllOffers: ((args, options?) => Promise<`0x${string}`>);
                                                                                              cancelOffer: ((args, options?) => Promise<`0x${string}`>);
                                                                                              cancelRenegotiationOffer: ((args, options?) => Promise<`0x${string}`>);
                                                                                              loanLiquidated: ((args, options?) => Promise<`0x${string}`>);
                                                                                              removeWhitelistedCallbackContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                              setProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                                                              updateLiquidationAuctionDuration: ((args, options?) => Promise<`0x${string}`>);
                                                                                              updateLiquidationContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                              updateProtocolFee: ((args, options?) => Promise<`0x${string}`>);
                                                                                              emitLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                              refinanceFull: ((args, options?) => Promise<`0x${string}`>);
                                                                                              refinancePartial: ((args, options?) => Promise<`0x${string}`>);
                                                                                              repayLoan: ((args, options?) => Promise<`0x${string}`>);
                                                                                              multicall: ((args, options?) => Promise<`0x${string}`>);
                                                                                              delegate: ((args, options?) => Promise<`0x${string}`>);
                                                                                              revokeDelegate: ((args, options?) => Promise<`0x${string}`>);
                                                                                              executeFlashAction: ((args, options?) => Promise<`0x${string}`>);
                                                                                              setFlashActionContract: ((args, options?) => Promise<`0x${string}`>);
                                                                                              setMinLockPeriod: ((args, options?) => Promise<`0x${string}`>);
                                                                                              requestTransferOwner: ((args, options?) => Promise<`0x${string}`>);
                                                                                              updateMinImprovementApr: ((args, options?) => Promise<`0x${string}`>);
                                                                                              addNewTranche: ((args, options?) => Promise<`0x${string}`>);
                                                                                              refinanceFromLoanExecutionData: ((args, options?) => Promise<`0x${string}`>);
                                                                                          }
                                                                                          @@ -1071,7 +1071,7 @@
                                                                                          Optional Returns Promise<`0x${string}`>
                                                                                          +
                                                                                        • Defined in src/contracts/BaseContract.ts:27
                                                                                        • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                                              type: "constructor";
                                                                                              inputs: readonly [{
                                                                                                  name: "loanLiquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "protocolFee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "currencyManager";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "collectionManager";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "maxTranches";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "delegateRegistry";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "loanManagerRegistry";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "flashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "minWaitTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "AddressZeroError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "CancelledOrExecutedOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "CollectionNotWhitelistedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "CurrencyNotWhitelistedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "ECDSAInvalidSignature";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "length";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "ECDSAInvalidSignatureLength";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "s";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              name: "ECDSAInvalidSignatureS";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "ExpiredOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidAddressesError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_amount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "InvalidAmountError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCallbackError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCallerError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCollateralIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidDurationError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidInputError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "InvalidLoanError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidMethodError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidParametersError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidRenegotiationOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidSignatureError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidTrancheError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "LiquidatorOnlyError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "LoanExpiredError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "LoanLockedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LoanNotDueError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_newMinOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LowOfferIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_newMinRenegotiationOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LowRenegotiationOfferIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "MaxCapacityExceededError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "MismatchError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "i";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "returndata";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "MulticallFailed";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "NFTNotReturnedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "NotStrictlyImprovedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_pendingProtocolFeeSetTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "TooEarlyError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "TooManyTranchesError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "TooSoonError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "minTimestamp";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "TrancheCannotBeRefinancedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "ZeroInterestError";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "AllOffersCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "value";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "Delegated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newFlashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "FlashActionContractUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "target";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "data";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "FlashActionExecuted";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newDuration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LiquidationAuctionDurationUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LiquidationContractUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanEmitted";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanForeclosed";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanLiquidated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "oldLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "newLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRefinanced";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "newLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerIds";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "totalFee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRefinancedFromNewOffers";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "totalRepayment";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRepaid";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanSentToLiquidator";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "_minimum";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinAprImprovementUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newMinBid";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinBidLiquidationUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinLockPeriodUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "OfferCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: true;
                                                                                              }, {
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: true;
                                                                                              }];
                                                                                              name: "OwnershipTransferred";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "fee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "ProtocolFeePendingUpdate";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "fee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "ProtocolFeeUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "RenegotiationOfferCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "collection";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "tokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "RevokeDelegate";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "TransferOwnerRequested";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "contractAdded";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "WhitelistedCallbackContractAdded";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "contractRemoved";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "WhitelistedCallbackContractRemoved";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "DOMAIN_SEPARATOR";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "FEE_UPDATE_NOTICE";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MAX_AUCTION_DURATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_AUCTION_DURATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_BID_LIQUIDATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_WAIT_TIME";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "VERSION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_renegotiationOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "addNewTranche";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "addWhitelistedCallbackContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelAllOffers";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelOffer";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelRenegotiationOffer";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_rights";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }, {
                                                                                                  name: "_value";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              name: "delegate";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanExecutionData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "executionData";
                                                                                                      internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerExecution";
                                                                                                          internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "offer";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "offerId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "capacity";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "maxSeniorRepayment";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "validators";
                                                                                                                  internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "validator";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "arguments";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lenderOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalReceiver";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "borrowerOfferSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "emitLoan";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_target";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_data";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "executeFlashAction";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getCollectionManager";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getCurrencyManager";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getDelegateRegistry";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getFlashActionContract";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLiquidationAuctionDuration";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLiquidator";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "getLoanHash";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLoanManagerRegistry";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "contract ILoanManagerRegistry";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMaxTranches";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMinImprovementApr";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMinLockPeriod";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getPendingProtocolFee";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getPendingProtocolFeeSetTime";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getProtocolFee";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getTotalLoansIssued";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "getUsedCapacity";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "isOfferCancelled";
                                                                                              outputs: readonly [{
                                                                                                  name: "notActive";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "renegotiationIf";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "isRenegotiationOfferCancelled";
                                                                                              outputs: readonly [{
                                                                                                  name: "notActive";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "isWhitelistedCallbackContract";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "liquidateLoan";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "loanLiquidated";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "minOfferId";
                                                                                              outputs: readonly [{
                                                                                                  name: "minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "data";
                                                                                                  internalType: "bytes[]";
                                                                                                  type: "bytes[]";
                                                                                              }];
                                                                                              name: "multicall";
                                                                                              outputs: readonly [{
                                                                                                  name: "results";
                                                                                                  internalType: "bytes[]";
                                                                                                  type: "bytes[]";
                                                                                              }];
                                                                                              stateMutability: "payable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "name";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "string";
                                                                                                  type: "string";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "onERC721Received";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes4";
                                                                                                  type: "bytes4";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "owner";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "pendingOwner";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "pendingOwnerTime";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loanExecutionData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "executionData";
                                                                                                      internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerExecution";
                                                                                                          internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "offer";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "offerId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "capacity";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "maxSeniorRepayment";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "validators";
                                                                                                                  internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "validator";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "arguments";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lenderOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalReceiver";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "borrowerOfferSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "refinanceFromLoanExecutionData";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_renegotiationOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "refinanceFull";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "refinancePartial";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "removeWhitelistedCallbackContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_repaymentData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "data";
                                                                                                      internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }, {
                                                                                                          name: "shouldDelegate";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "loan";
                                                                                                      internalType: "struct IMultiSourceLoan.Loan";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "borrower";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "nftCollateralTokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "nftCollateralAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "tranche";
                                                                                                          internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "floor";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "principalAmount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "accruedInterest";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "startTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "aprBps";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "protocolFee";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrowerSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "repayLoan";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "requestTransferOwner";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_collection";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_tokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "revokeDelegate";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newFlashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "setFlashActionContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "__minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "setMinLockPeriod";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "setProtocolFee";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "transferOwnership";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "transferOwnership";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newDuration";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              name: "updateLiquidationAuctionDuration";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "__loanLiquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "updateLiquidationContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newMinimum";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "updateMinImprovementApr";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newProtocolFee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "updateProtocolFee";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "RevokeDelegate" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "MinLockPeriodUpdated" | "MinAprImprovementUpdated" | "MinBidLiquidationUpdated" | "TransferOwnerRequested" | "LoanRefinancedFromNewOffers")[]
                                                                                              ? TFunctionName[number]
                                                                                              : TFunctionName>)
                                                                                          @@ -1097,7 +1097,7 @@
                                                                                          logs: Returns ParseEventLogsReturnType<readonly [{
                                                                                              type: "constructor";
                                                                                              inputs: readonly [{
                                                                                                  name: "loanLiquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "protocolFee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "currencyManager";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "collectionManager";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "maxTranches";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "delegateRegistry";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "loanManagerRegistry";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "flashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "minWaitTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "AddressZeroError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "CancelledOrExecutedOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "CollectionNotWhitelistedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "CurrencyNotWhitelistedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "ECDSAInvalidSignature";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "length";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "ECDSAInvalidSignatureLength";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "s";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              name: "ECDSAInvalidSignatureS";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "ExpiredOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidAddressesError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_amount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_principalAmount";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "InvalidAmountError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCallbackError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCallerError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidCollateralIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidDurationError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidInputError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "InvalidLoanError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidMethodError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidParametersError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidRenegotiationOfferError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidSignatureError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "InvalidTrancheError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "LiquidatorOnlyError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "LoanExpiredError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "LoanLockedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_expirationTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LoanNotDueError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_newMinOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LowOfferIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_newMinRenegotiationOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "LowRenegotiationOfferIdError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "MaxCapacityExceededError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "MismatchError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "i";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "returndata";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "MulticallFailed";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "NFTNotReturnedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "NotStrictlyImprovedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "_pendingProtocolFeeSetTime";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "TooEarlyError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "TooManyTranchesError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "TooSoonError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [{
                                                                                                  name: "minTimestamp";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "TrancheCannotBeRefinancedError";
                                                                                          }, {
                                                                                              type: "error";
                                                                                              inputs: readonly [];
                                                                                              name: "ZeroInterestError";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "AllOffersCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "value";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "Delegated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newFlashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "FlashActionContractUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "target";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "data";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "FlashActionExecuted";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newDuration";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LiquidationAuctionDurationUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LiquidationContractUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanEmitted";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanForeclosed";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanLiquidated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "oldLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "newLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRefinanced";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "newLoanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerIds";
                                                                                                  internalType: "uint256[]";
                                                                                                  type: "uint256[]";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "totalFee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRefinancedFromNewOffers";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "totalRepayment";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "fee";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanRepaid";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "liquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "LoanSentToLiquidator";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "_minimum";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinAprImprovementUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newMinBid";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinBidLiquidationUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "MinLockPeriodUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "OfferCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: true;
                                                                                              }, {
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: true;
                                                                                              }];
                                                                                              name: "OwnershipTransferred";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "fee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "ProtocolFeePendingUpdate";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "fee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "ProtocolFeeUpdated";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "RenegotiationOfferCancelled";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "collection";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }, {
                                                                                                  name: "tokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "RevokeDelegate";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "TransferOwnerRequested";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "contractAdded";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "WhitelistedCallbackContractAdded";
                                                                                          }, {
                                                                                              type: "event";
                                                                                              anonymous: false;
                                                                                              inputs: readonly [{
                                                                                                  name: "contractRemoved";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                                  indexed: false;
                                                                                              }];
                                                                                              name: "WhitelistedCallbackContractRemoved";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "DOMAIN_SEPARATOR";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "FEE_UPDATE_NOTICE";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MAX_AUCTION_DURATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_AUCTION_DURATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_BID_LIQUIDATION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "MIN_WAIT_TIME";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "VERSION";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_renegotiationOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "addNewTranche";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "addWhitelistedCallbackContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelAllOffers";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelOffer";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "cancelRenegotiationOffer";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_rights";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }, {
                                                                                                  name: "_value";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              name: "delegate";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanExecutionData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "executionData";
                                                                                                      internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerExecution";
                                                                                                          internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "offer";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "offerId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "capacity";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "maxSeniorRepayment";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "validators";
                                                                                                                  internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "validator";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "arguments";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lenderOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalReceiver";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "borrowerOfferSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "emitLoan";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_target";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_data";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "executeFlashAction";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getCollectionManager";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getCurrencyManager";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getDelegateRegistry";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getFlashActionContract";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLiquidationAuctionDuration";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLiquidator";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "getLoanHash";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes32";
                                                                                                  type: "bytes32";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getLoanManagerRegistry";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "contract ILoanManagerRegistry";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMaxTranches";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMinImprovementApr";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getMinLockPeriod";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getPendingProtocolFee";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getPendingProtocolFeeSetTime";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getProtocolFee";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "getTotalLoansIssued";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_lender";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "getUsedCapacity";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "offerId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "isOfferCancelled";
                                                                                              outputs: readonly [{
                                                                                                  name: "notActive";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "renegotiationIf";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "isRenegotiationOfferCancelled";
                                                                                              outputs: readonly [{
                                                                                                  name: "notActive";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "isWhitelistedCallbackContract";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bool";
                                                                                                  type: "bool";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "liquidateLoan";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "loanLiquidated";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "user";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "minOfferId";
                                                                                              outputs: readonly [{
                                                                                                  name: "minOfferId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "data";
                                                                                                  internalType: "bytes[]";
                                                                                                  type: "bytes[]";
                                                                                              }];
                                                                                              name: "multicall";
                                                                                              outputs: readonly [{
                                                                                                  name: "results";
                                                                                                  internalType: "bytes[]";
                                                                                                  type: "bytes[]";
                                                                                              }];
                                                                                              stateMutability: "payable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "name";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "string";
                                                                                                  type: "string";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "onERC721Received";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "bytes4";
                                                                                                  type: "bytes4";
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "owner";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "pendingOwner";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "pendingOwnerTime";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              stateMutability: "view";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_loanId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loanExecutionData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "executionData";
                                                                                                      internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "offerExecution";
                                                                                                          internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "offer";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "offerId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "capacity";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "maxSeniorRepayment";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "validators";
                                                                                                                  internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "validator";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "arguments";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lenderOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "expirationTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalReceiver";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "borrowerOfferSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "refinanceFromLoanExecutionData";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_renegotiationOfferSignature";
                                                                                                  internalType: "bytes";
                                                                                                  type: "bytes";
                                                                                              }];
                                                                                              name: "refinanceFull";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_renegotiationOffer";
                                                                                                  internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "renegotiationId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "loanId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "lender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "trancheIndex";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "aprBps";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "expirationTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }, {
                                                                                                  name: "_loan";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "refinancePartial";
                                                                                              outputs: readonly [{
                                                                                                  name: "";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }, {
                                                                                                  name: "";
                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "borrower";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "nftCollateralTokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "nftCollateralAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAddress";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "principalAmount";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "startTime";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "duration";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "tranche";
                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                      type: "tuple[]";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "floor";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "lender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "accruedInterest";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "aprBps";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "protocolFee";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_contract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "removeWhitelistedCallbackContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_repaymentData";
                                                                                                  internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "data";
                                                                                                      internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "loanId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "callbackData";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }, {
                                                                                                          name: "shouldDelegate";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "loan";
                                                                                                      internalType: "struct IMultiSourceLoan.Loan";
                                                                                                      type: "tuple";
                                                                                                      components: readonly [{
                                                                                                          name: "borrower";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "nftCollateralTokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "nftCollateralAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAddress";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "principalAmount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "startTime";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "duration";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "tranche";
                                                                                                          internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                          type: "tuple[]";
                                                                                                          components: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "floor";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "principalAmount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "accruedInterest";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "startTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "aprBps";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          name: "protocolFee";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      name: "borrowerSignature";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "repayLoan";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "requestTransferOwner";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_delegate";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_collection";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }, {
                                                                                                  name: "_tokenId";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "revokeDelegate";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newFlashActionContract";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "setFlashActionContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "__minLockPeriod";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "setMinLockPeriod";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "setProtocolFee";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [];
                                                                                              name: "transferOwnership";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "newOwner";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "transferOwnership";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newDuration";
                                                                                                  internalType: "uint48";
                                                                                                  type: "uint48";
                                                                                              }];
                                                                                              name: "updateLiquidationAuctionDuration";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "__loanLiquidator";
                                                                                                  internalType: "address";
                                                                                                  type: "address";
                                                                                              }];
                                                                                              name: "updateLiquidationContract";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newMinimum";
                                                                                                  internalType: "uint256";
                                                                                                  type: "uint256";
                                                                                              }];
                                                                                              name: "updateMinImprovementApr";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }, {
                                                                                              type: "function";
                                                                                              inputs: readonly [{
                                                                                                  name: "_newProtocolFee";
                                                                                                  internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                  type: "tuple";
                                                                                                  components: readonly [{
                                                                                                      name: "recipient";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "fraction";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                              }];
                                                                                              name: "updateProtocolFee";
                                                                                              outputs: readonly [];
                                                                                              stateMutability: "nonpayable";
                                                                                          }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "AllOffersCancelled" | "LiquidationAuctionDurationUpdated" | "LiquidationContractUpdated" | "LoanForeclosed" | "LoanLiquidated" | "LoanSentToLiquidator" | "OfferCancelled" | "ProtocolFeePendingUpdate" | "ProtocolFeeUpdated" | "RenegotiationOfferCancelled" | "WhitelistedCallbackContractAdded" | "WhitelistedCallbackContractRemoved" | "LoanEmitted" | "LoanRefinanced" | "LoanRepaid" | "RevokeDelegate" | "Delegated" | "FlashActionContractUpdated" | "FlashActionExecuted" | "MinLockPeriodUpdated" | "MinAprImprovementUpdated" | "MinBidLiquidationUpdated" | "TransferOwnerRequested" | "LoanRefinancedFromNewOffers")[]
                                                                                              ? TFunctionName[number]
                                                                                              : TFunctionName>
                                                                                          +
                                                                                        • Defined in src/contracts/BaseContract.ts:34
                                                                                        • @@ -23,7 +23,7 @@

                                                                                          Hierarchy

                                                                                          • OldERC721Wrapper
                                                                                          +
                                                                                        • Defined in src/contracts/OldERC721Wrapper.ts:7
                                                                                        • @@ -69,7 +69,7 @@
                                                                                          contractAddressReturns OldERC721Wrapper
                                                                                          +
                                                                                        • Defined in src/contracts/OldERC721Wrapper.ts:8
                                                                                        • Methods

                                                                                          @@ -87,7 +87,7 @@
                                                                                          __namedParameters: tokenId: bigint

                                                                                          Returns Promise<{
                                                                                              txHash: `0x${string}`;
                                                                                              waitMined: (() => Promise<TransactionReceipt>);
                                                                                          }>

                                                                                          +
                                                                                        • Defined in src/contracts/OldERC721Wrapper.ts:22
                                                                                          • @@ -100,7 +100,7 @@

                                                                                            Parameters

                                                                                            tokenId: bigint

                                                                                          Returns Promise<{
                                                                                              txHash: `0x${string}`;
                                                                                              waitMined: (() => Promise<TransactionReceipt>);
                                                                                          }>

                                                                                          +
                                                                                        • Defined in src/contracts/OldERC721Wrapper.ts:31
                                                                                        • Properties

                                                                                          @@ -108,13 +108,13 @@
                                                                                          +
                                                                                        • Defined in src/contracts/BaseContract.ts:21
                                                                                        • address: `0x${string}`
                                                                                          +
                                                                                        • Defined in src/contracts/BaseContract.ts:22
                                                                                        • bcClient: {}
                                                                                          @@ -123,7 +123,7 @@

                                                                                          Type declaration

                                                                                            +
                                                                                          • Defined in src/contracts/BaseContract.ts:23
                                                                                          • wallet: {}
                                                                                            @@ -132,13 +132,13 @@

                                                                                            Type declaration

                                                                                              +
                                                                                            • Defined in src/contracts/BaseContract.ts:24
                                                                                            • contract: GetContractReturnType<readonly [{
                                                                                                  type: "constructor";
                                                                                                  inputs: readonly [{
                                                                                                      name: "name";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }, {
                                                                                                      name: "symbol";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }, {
                                                                                                      name: "_wrapped";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "spender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "approve";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "balanceOf";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "getApproved";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "isApprovedForAll";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "name";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "ownerOf";
                                                                                                  outputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "safeTransferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "data";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                                  name: "safeTransferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "operator";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "approved";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  name: "setApprovalForAll";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "user";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "stashAddress";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "stashFactory";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "contract Stash";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "interfaceId";
                                                                                                      internalType: "bytes4";
                                                                                                      type: "bytes4";
                                                                                                  }];
                                                                                                  name: "supportsInterface";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "symbol";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "tokenURI";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "tokensOfOwner";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "totalSupply";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "transferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "unwrap";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenIndexes";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  name: "unwrapBatch";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "wrap";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenIndexes";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  name: "wrapBatch";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "wrapped";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "contract IOldERC721";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "spender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                      indexed: true;
                                                                                                  }];
                                                                                                  name: "Approval";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "operator";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "approved";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                      indexed: false;
                                                                                                  }];
                                                                                                  name: "ApprovalForAll";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                      indexed: true;
                                                                                                  }];
                                                                                                  name: "Transfer";
                                                                                              }], {} | {}>
                                                                                              +
                                                                                            • Defined in src/contracts/BaseContract.ts:25
                                                                                            • safeContractWrite: {
                                                                                                  approve: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  transferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  safeTransferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  setApprovalForAll: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  unwrap: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  unwrapBatch: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  wrap: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  wrapBatch: ((args, options?) => Promise<`0x${string}`>);
                                                                                              }
                                                                                              @@ -291,7 +291,7 @@
                                                                                              Optional Returns Promise<`0x${string}`>
                                                                                              +
                                                                                            • Defined in src/contracts/BaseContract.ts:27
                                                                                            • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                                                  type: "constructor";
                                                                                                  inputs: readonly [{
                                                                                                      name: "name";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }, {
                                                                                                      name: "symbol";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }, {
                                                                                                      name: "_wrapped";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "spender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "approve";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "balanceOf";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "getApproved";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "isApprovedForAll";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "name";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "ownerOf";
                                                                                                  outputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "safeTransferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "data";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                                  name: "safeTransferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "operator";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "approved";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  name: "setApprovalForAll";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "user";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "stashAddress";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "stashFactory";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "contract Stash";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "interfaceId";
                                                                                                      internalType: "bytes4";
                                                                                                      type: "bytes4";
                                                                                                  }];
                                                                                                  name: "supportsInterface";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "symbol";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "tokenURI";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "tokensOfOwner";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "totalSupply";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "transferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "unwrap";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenIndexes";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  name: "unwrapBatch";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "wrap";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenIndexes";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  name: "wrapBatch";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "wrapped";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "contract IOldERC721";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "spender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                      indexed: true;
                                                                                                  }];
                                                                                                  name: "Approval";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "operator";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "approved";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                      indexed: false;
                                                                                                  }];
                                                                                                  name: "ApprovalForAll";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                      indexed: true;
                                                                                                  }];
                                                                                                  name: "Transfer";
                                                                                              }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer" | "ApprovalForAll")[]
                                                                                                  ? TFunctionName[number]
                                                                                                  : TFunctionName>)
                                                                                              @@ -317,7 +317,7 @@
                                                                                              logs: Returns ParseEventLogsReturnType<readonly [{
                                                                                                  type: "constructor";
                                                                                                  inputs: readonly [{
                                                                                                      name: "name";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }, {
                                                                                                      name: "symbol";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }, {
                                                                                                      name: "_wrapped";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "spender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "approve";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "balanceOf";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "getApproved";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "isApprovedForAll";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "name";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "ownerOf";
                                                                                                  outputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "safeTransferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }, {
                                                                                                      name: "data";
                                                                                                      internalType: "bytes";
                                                                                                      type: "bytes";
                                                                                                  }];
                                                                                                  name: "safeTransferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "operator";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "approved";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  name: "setApprovalForAll";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "user";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "stashAddress";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "stashFactory";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "contract Stash";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "interfaceId";
                                                                                                      internalType: "bytes4";
                                                                                                      type: "bytes4";
                                                                                                  }];
                                                                                                  name: "supportsInterface";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "symbol";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "tokenURI";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "string";
                                                                                                      type: "string";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  name: "tokensOfOwner";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "totalSupply";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "transferFrom";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "unwrap";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenIndexes";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  name: "unwrapBatch";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenId";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                  }];
                                                                                                  name: "wrap";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [{
                                                                                                      name: "tokenIndexes";
                                                                                                      internalType: "uint256[]";
                                                                                                      type: "uint256[]";
                                                                                                  }];
                                                                                                  name: "wrapBatch";
                                                                                                  outputs: readonly [];
                                                                                                  stateMutability: "nonpayable";
                                                                                              }, {
                                                                                                  type: "function";
                                                                                                  inputs: readonly [];
                                                                                                  name: "wrapped";
                                                                                                  outputs: readonly [{
                                                                                                      name: "";
                                                                                                      internalType: "contract IOldERC721";
                                                                                                      type: "address";
                                                                                                  }];
                                                                                                  stateMutability: "view";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "spender";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                      indexed: true;
                                                                                                  }];
                                                                                                  name: "Approval";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "owner";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "operator";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "approved";
                                                                                                      internalType: "bool";
                                                                                                      type: "bool";
                                                                                                      indexed: false;
                                                                                                  }];
                                                                                                  name: "ApprovalForAll";
                                                                                              }, {
                                                                                                  type: "event";
                                                                                                  anonymous: false;
                                                                                                  inputs: readonly [{
                                                                                                      name: "from";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "to";
                                                                                                      internalType: "address";
                                                                                                      type: "address";
                                                                                                      indexed: true;
                                                                                                  }, {
                                                                                                      name: "id";
                                                                                                      internalType: "uint256";
                                                                                                      type: "uint256";
                                                                                                      indexed: true;
                                                                                                  }];
                                                                                                  name: "Transfer";
                                                                                              }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer" | "ApprovalForAll")[]
                                                                                                  ? TFunctionName[number]
                                                                                                  : TFunctionName>
                                                                                              +
                                                                                            • Defined in src/contracts/BaseContract.ts:34
                                                                                            • @@ -23,7 +23,7 @@

                                                                                              Hierarchy

                                                                                              • UserVaultV5
                                                                                              +
                                                                                            • Defined in src/contracts/UserVaultV5.ts:11
                                                                                            • @@ -69,7 +69,7 @@
                                                                                              walletClientReturns UserVaultV5
                                                                                              +
                                                                                            • Defined in src/contracts/UserVaultV5.ts:12
                                                                                            • Methods

                                                                                              @@ -84,7 +84,7 @@

                                                                                              Parameters

                                                                                              __namedParameters: BurnAndWithdrawArgs

                                                                                              Returns Promise<{
                                                                                                  txHash: `0x${string}`;
                                                                                                  waitTxInBlock: (() => Promise<{
                                                                                                      events: {
                                                                                                          vaultId: bigint;
                                                                                                          collection: `0x${string}`;
                                                                                                          tokenId: bigint;
                                                                                                      }[];
                                                                                                      oldEvents: {
                                                                                                          vaultId: bigint;
                                                                                                          collection: `0x${string}`;
                                                                                                          tokenId: bigint;
                                                                                                      }[];
                                                                                                  }>);
                                                                                              }>

                                                                                              +
                                                                                            • Defined in src/contracts/UserVaultV5.ts:22
                                                                                            • Returns Promise<{
                                                                                                  vaultId: bigint;
                                                                                                  receipts: {
                                                                                                      vaultId: bigint;
                                                                                                      collection: `0x${string}`;
                                                                                                      tokenId: bigint;
                                                                                                  }[];
                                                                                              }>

                                                                                              +
                                                                                            • Defined in src/contracts/UserVaultV5.ts:55
                                                                                            • Returns Promise<{
                                                                                                  txHash: `0x${string}`;
                                                                                                  waitTxInBlock: (() => Promise<{
                                                                                                      vaultId: bigint;
                                                                                                      collection: `0x${string}`;
                                                                                                      tokenId: bigint;
                                                                                                  }>);
                                                                                              }>

                                                                                              +
                                                                                            • Defined in src/contracts/UserVaultV5.ts:80
                                                                                            • +
                                                                                            • Defined in src/contracts/UserVaultV5.ts:96
                                                                                            • Properties

                                                                                              @@ -126,13 +126,13 @@
                                                                                              +
                                                                                            • Defined in src/contracts/BaseContract.ts:21
                                                                                            • address: `0x${string}`
                                                                                              +
                                                                                            • Defined in src/contracts/BaseContract.ts:22
                                                                                            • bcClient: {}
                                                                                              @@ -141,7 +141,7 @@

                                                                                              Type declaration

                                                                                                +
                                                                                              • Defined in src/contracts/BaseContract.ts:23
                                                                                              • wallet: {}
                                                                                                @@ -150,13 +150,13 @@

                                                                                                Type declaration

                                                                                                  +
                                                                                                • Defined in src/contracts/BaseContract.ts:24
                                                                                                • contract: GetContractReturnType<readonly [{
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "constructor";
                                                                                                      inputs: readonly [{
                                                                                                          name: "currencyManager";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "collectionManager";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "AssetNotOwnedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "CollectionNotWhitelistedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "CurrencyNotWhitelistedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "LengthMismatchError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "NotApprovedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "VaultNotExistsError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "WithdrawingETHError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "WrongMethodError";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "spender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "Approval";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "operator";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "approved";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ApprovalForAll";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC20Deposited";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC20Withdrawn";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC721Deposited";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC721Withdrawn";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "user";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "newOwner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "OwnershipTransferred";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "Transfer";
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "ERC20BalanceOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "ERC721OwnerOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "ETH";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "spender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "approve";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "balanceOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_assetRecipient";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "burn";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collections";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }, {
                                                                                                          name: "_tokens";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }];
                                                                                                      name: "burnAndWithdraw";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositERC20";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositERC721";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }];
                                                                                                      name: "depositERC721s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "payable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositEth";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "getApproved";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "isApprovedForAll";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "mint";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "name";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                      name: "onERC721Received";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bytes4";
                                                                                                          type: "bytes4";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "owner";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "ownerOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "safeTransferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "data";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                      name: "safeTransferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "operator";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "approved";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                      name: "setApprovalForAll";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "interfaceId";
                                                                                                          internalType: "bytes4";
                                                                                                          type: "bytes4";
                                                                                                      }];
                                                                                                      name: "supportsInterface";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "symbol";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "pure";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "tokenURI";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "transferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "newOwner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "transferOwnership";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "withdrawERC20";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_tokens";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }];
                                                                                                      name: "withdrawERC20s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "withdrawERC721";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collections";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }];
                                                                                                      name: "withdrawERC721s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "withdrawEth";
                                                                                                      outputs: readonly [];
                                                                                                  }], {} | {}>
                                                                                                  +
                                                                                                • Defined in src/contracts/BaseContract.ts:25
                                                                                                • safeContractWrite: {
                                                                                                      transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      approve: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      transferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      safeTransferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      setApprovalForAll: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      mint: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      burn: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      depositERC20: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      depositERC721: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      depositERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      depositEth: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      withdrawERC20: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      withdrawERC20s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      withdrawERC721: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      withdrawERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      withdrawEth: ((args, options?) => Promise<`0x${string}`>);
                                                                                                  }
                                                                                                  @@ -489,7 +489,7 @@
                                                                                                  Optional Returns Promise<`0x${string}`>
                                                                                                  +
                                                                                                • Defined in src/contracts/BaseContract.ts:27
                                                                                                • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "constructor";
                                                                                                      inputs: readonly [{
                                                                                                          name: "currencyManager";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "collectionManager";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "AssetNotOwnedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "CollectionNotWhitelistedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "CurrencyNotWhitelistedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "LengthMismatchError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "NotApprovedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "VaultNotExistsError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "WithdrawingETHError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "WrongMethodError";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "spender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "Approval";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "operator";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "approved";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ApprovalForAll";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC20Deposited";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC20Withdrawn";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC721Deposited";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC721Withdrawn";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "user";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "newOwner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "OwnershipTransferred";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "Transfer";
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "ERC20BalanceOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "ERC721OwnerOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "ETH";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "spender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "approve";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "balanceOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_assetRecipient";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "burn";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collections";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }, {
                                                                                                          name: "_tokens";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }];
                                                                                                      name: "burnAndWithdraw";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositERC20";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositERC721";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }];
                                                                                                      name: "depositERC721s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "payable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositEth";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "getApproved";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "isApprovedForAll";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "mint";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "name";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                      name: "onERC721Received";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bytes4";
                                                                                                          type: "bytes4";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "owner";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "ownerOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "safeTransferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "data";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                      name: "safeTransferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "operator";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "approved";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                      name: "setApprovalForAll";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "interfaceId";
                                                                                                          internalType: "bytes4";
                                                                                                          type: "bytes4";
                                                                                                      }];
                                                                                                      name: "supportsInterface";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "symbol";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "pure";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "tokenURI";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "transferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "newOwner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "transferOwnership";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "withdrawERC20";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_tokens";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }];
                                                                                                      name: "withdrawERC20s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "withdrawERC721";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collections";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }];
                                                                                                      name: "withdrawERC721s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "withdrawEth";
                                                                                                      outputs: readonly [];
                                                                                                  }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
                                                                                                      ? TFunctionName[number]
                                                                                                      : TFunctionName>)
                                                                                                  @@ -515,7 +515,7 @@
                                                                                                  logs: Returns ParseEventLogsReturnType<readonly [{
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "constructor";
                                                                                                      inputs: readonly [{
                                                                                                          name: "currencyManager";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "collectionManager";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "AssetNotOwnedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "CollectionNotWhitelistedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "CurrencyNotWhitelistedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "LengthMismatchError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "NotApprovedError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "VaultNotExistsError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "WithdrawingETHError";
                                                                                                  }, {
                                                                                                      type: "error";
                                                                                                      inputs: readonly [];
                                                                                                      name: "WrongMethodError";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "spender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "Approval";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "operator";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "approved";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ApprovalForAll";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC20Deposited";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC20Withdrawn";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC721Deposited";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: false;
                                                                                                      }, {
                                                                                                          name: "tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: false;
                                                                                                      }];
                                                                                                      name: "ERC721Withdrawn";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "user";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "newOwner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "OwnershipTransferred";
                                                                                                  }, {
                                                                                                      type: "event";
                                                                                                      anonymous: false;
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                          indexed: true;
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                          indexed: true;
                                                                                                      }];
                                                                                                      name: "Transfer";
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "ERC20BalanceOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "ERC721OwnerOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "ETH";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "spender";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "approve";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "balanceOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_assetRecipient";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "burn";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collections";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }, {
                                                                                                          name: "_tokens";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }];
                                                                                                      name: "burnAndWithdraw";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_amount";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositERC20";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositERC721";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }];
                                                                                                      name: "depositERC721s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "payable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "depositEth";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "getApproved";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "isApprovedForAll";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "mint";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "name";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                      name: "onERC721Received";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bytes4";
                                                                                                          type: "bytes4";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "owner";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "ownerOf";
                                                                                                      outputs: readonly [{
                                                                                                          name: "owner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "safeTransferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "data";
                                                                                                          internalType: "bytes";
                                                                                                          type: "bytes";
                                                                                                      }];
                                                                                                      name: "safeTransferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "operator";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "approved";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                      name: "setApprovalForAll";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "interfaceId";
                                                                                                          internalType: "bytes4";
                                                                                                          type: "bytes4";
                                                                                                      }];
                                                                                                      name: "supportsInterface";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "bool";
                                                                                                          type: "bool";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "view";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [];
                                                                                                      name: "symbol";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "pure";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "tokenURI";
                                                                                                      outputs: readonly [{
                                                                                                          name: "";
                                                                                                          internalType: "string";
                                                                                                          type: "string";
                                                                                                      }];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "from";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "to";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "id";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "transferFrom";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "newOwner";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "transferOwnership";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_token";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }];
                                                                                                      name: "withdrawERC20";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_tokens";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }];
                                                                                                      name: "withdrawERC20s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collection";
                                                                                                          internalType: "address";
                                                                                                          type: "address";
                                                                                                      }, {
                                                                                                          name: "_tokenId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "withdrawERC721";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }, {
                                                                                                          name: "_collections";
                                                                                                          internalType: "address[]";
                                                                                                          type: "address[]";
                                                                                                      }, {
                                                                                                          name: "_tokenIds";
                                                                                                          internalType: "uint256[]";
                                                                                                          type: "uint256[]";
                                                                                                      }];
                                                                                                      name: "withdrawERC721s";
                                                                                                      outputs: readonly [];
                                                                                                  }, {
                                                                                                      stateMutability: "nonpayable";
                                                                                                      type: "function";
                                                                                                      inputs: readonly [{
                                                                                                          name: "_vaultId";
                                                                                                          internalType: "uint256";
                                                                                                          type: "uint256";
                                                                                                      }];
                                                                                                      name: "withdrawEth";
                                                                                                      outputs: readonly [];
                                                                                                  }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn")[]
                                                                                                      ? TFunctionName[number]
                                                                                                      : TFunctionName>
                                                                                                  +
                                                                                                • Defined in src/contracts/BaseContract.ts:34
                                                                                                • @@ -23,7 +23,7 @@

                                                                                                  Hierarchy

                                                                                                  • UserVaultV6
                                                                                                  +
                                                                                                • Defined in src/contracts/UserVaultV6.ts:15
                                                                                                • @@ -69,7 +69,7 @@
                                                                                                  walletClientReturns UserVaultV6
                                                                                                  +
                                                                                                • Defined in src/contracts/UserVaultV6.ts:16
                                                                                                • Methods

                                                                                                  @@ -84,7 +84,7 @@

                                                                                                  Parameters

                                                                                                  __namedParameters: BurnAndWithdrawArgs

                                                                                                  Returns Promise<{
                                                                                                      txHash: `0x${string}`;
                                                                                                      waitTxInBlock: (() => Promise<{
                                                                                                          events: {
                                                                                                              vaultId: bigint;
                                                                                                              collection: `0x${string}`;
                                                                                                              tokenId: bigint;
                                                                                                          }[];
                                                                                                          oldEvents: {
                                                                                                              vaultId: bigint;
                                                                                                              collection: `0x${string}`;
                                                                                                              tokenId: bigint;
                                                                                                          }[];
                                                                                                      }>);
                                                                                                  }>

                                                                                                  +
                                                                                                • Defined in src/contracts/UserVaultV6.ts:26
                                                                                                • Returns Promise<{
                                                                                                      vaultId: bigint;
                                                                                                      receipts: ({
                                                                                                          vaultId: bigint;
                                                                                                          collection: `0x${string}`;
                                                                                                          tokenId: bigint;
                                                                                                      } | {
                                                                                                          vaultId: bigint;
                                                                                                          token: `0x${string}`;
                                                                                                          tokenId: bigint;
                                                                                                          amount: bigint;
                                                                                                      })[];
                                                                                                  }>

                                                                                                  +
                                                                                                • Defined in src/contracts/UserVaultV6.ts:73
                                                                                                • Returns Promise<{
                                                                                                      txHash: `0x${string}`;
                                                                                                      waitTxInBlock: (() => Promise<{
                                                                                                          vaultId: bigint;
                                                                                                          collection: `0x${string}`;
                                                                                                          tokenId: bigint;
                                                                                                      }>);
                                                                                                  }>

                                                                                                  +
                                                                                                • Defined in src/contracts/UserVaultV6.ts:101
                                                                                                • Returns Promise<{
                                                                                                      txHash: `0x${string}`;
                                                                                                      waitTxInBlock: (() => Promise<{
                                                                                                          vaultId: bigint;
                                                                                                          token: `0x${string}`;
                                                                                                          tokenId: bigint;
                                                                                                          amount: bigint;
                                                                                                      }>);
                                                                                                  }>

                                                                                                  +
                                                                                                • Defined in src/contracts/UserVaultV6.ts:117
                                                                                                • Properties

                                                                                                  @@ -131,13 +131,13 @@
                                                                                                  +
                                                                                                • Defined in src/contracts/BaseContract.ts:21
                                                                                                • address: `0x${string}`
                                                                                                  +
                                                                                                • Defined in src/contracts/BaseContract.ts:22
                                                                                                • bcClient: {}
                                                                                                  @@ -146,7 +146,7 @@

                                                                                                  Type declaration

                                                                                                    +
                                                                                                  • Defined in src/contracts/BaseContract.ts:23
                                                                                                  • wallet: {}
                                                                                                    @@ -155,13 +155,13 @@

                                                                                                    Type declaration

                                                                                                      +
                                                                                                    • Defined in src/contracts/BaseContract.ts:24
                                                                                                    • contract: GetContractReturnType<readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC1155BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "ERC20BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC721OwnerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ETH";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "approve";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_assetRecipient";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "burn";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155Tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155TokensIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "burnAndWithdraw";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_amounts";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "payable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getApproved";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "mint";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155BatchReceived";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ownerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "symbol";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "tokenURI";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "pure";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "transferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "withdrawERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC20s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Approval";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Transfer";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AssetNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LengthMismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "NotApprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "VaultNotExistsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WithdrawingETHError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WrongMethodError";
                                                                                                      }], {} | {}>
                                                                                                      +
                                                                                                    • Defined in src/contracts/BaseContract.ts:25
                                                                                                    • safeContractWrite: {
                                                                                                          transferOwnership: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          onERC721Received: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          approve: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          transferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          safeTransferFrom: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          setApprovalForAll: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          mint: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          burn: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          burnAndWithdraw: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          depositERC20: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          depositERC721: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          depositERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          depositEth: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          withdrawERC20: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          withdrawERC20s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          withdrawERC721: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          withdrawERC721s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          withdrawEth: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          depositERC1155: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          depositERC1155s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          withdrawERC1155: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          withdrawERC1155s: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          onERC1155BatchReceived: ((args, options?) => Promise<`0x${string}`>);
                                                                                                          onERC1155Received: ((args, options?) => Promise<`0x${string}`>);
                                                                                                      }
                                                                                                      @@ -602,7 +602,7 @@
                                                                                                      Optional Returns Promise<`0x${string}`>
                                                                                                      +
                                                                                                    • Defined in src/contracts/BaseContract.ts:27
                                                                                                    • parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC1155BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "ERC20BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC721OwnerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ETH";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "approve";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_assetRecipient";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "burn";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155Tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155TokensIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "burnAndWithdraw";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_amounts";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "payable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getApproved";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "mint";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155BatchReceived";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ownerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "symbol";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "tokenURI";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "pure";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "transferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "withdrawERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC20s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Approval";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Transfer";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AssetNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LengthMismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "NotApprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "VaultNotExistsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WithdrawingETHError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WrongMethodError";
                                                                                                      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn" | "ERC1155Deposited" | "ERC1155Withdrawn")[]
                                                                                                          ? TFunctionName[number]
                                                                                                          : TFunctionName>)
                                                                                                      @@ -628,7 +628,7 @@
                                                                                                      logs: Returns ParseEventLogsReturnType<readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC1155BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "ERC20BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC721OwnerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ETH";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "approve";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_assetRecipient";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "burn";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155Tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155TokensIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "burnAndWithdraw";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_amounts";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "payable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getApproved";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "mint";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155BatchReceived";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ownerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "symbol";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "tokenURI";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "pure";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "transferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "withdrawERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC20s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Approval";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Transfer";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AssetNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LengthMismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "NotApprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "VaultNotExistsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WithdrawingETHError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WrongMethodError";
                                                                                                      }], TFunctionName, true, TFunctionName extends ("OwnershipTransferred" | "Approval" | "Transfer" | "ApprovalForAll" | "ERC20Deposited" | "ERC20Withdrawn" | "ERC721Deposited" | "ERC721Withdrawn" | "ERC1155Deposited" | "ERC1155Withdrawn")[]
                                                                                                          ? TFunctionName[number]
                                                                                                          : TFunctionName>
                                                                                                      +
                                                                                                    • Defined in src/contracts/BaseContract.ts:34
                                                                                                    • @@ -17,7 +17,7 @@
                                                                                                    • LoanSortField
                                                                                                    • Enumeration LoanSortField

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:793
                                                                                                    • @@ -44,62 +44,62 @@

                                                                                                      Enumeration Members

                                                                                                      AprBps: "APR_BPS"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:794
                                                                                                    • Duration: "DURATION"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:795
                                                                                                    • EffectiveAprBps: "EFFECTIVE_APR_BPS"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:796
                                                                                                    • EndDate: "END_DATE"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:797
                                                                                                    • ExpectedInterest: "EXPECTED_INTEREST"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:798
                                                                                                    • ExpirationDate: "EXPIRATION_DATE"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:799
                                                                                                    • OriginationFee: "ORIGINATION_FEE"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:800
                                                                                                    • PaidInterest: "PAID_INTEREST"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:801
                                                                                                    • PrincipalAmount: "PRINCIPAL_AMOUNT"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:802
                                                                                                    • RenegotiationRequested: "RENEGOTIATION_REQUESTED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:803
                                                                                                    • StartTime: "START_TIME"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:804
                                                                                                    • TotalInterest: "TOTAL_INTEREST"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:805
                                                                                                    • @@ -16,7 +16,7 @@
                                                                                                    • LoanStatusType
                                                                                                    • Enumeration LoanStatusType

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:813
                                                                                                    • @@ -38,37 +38,37 @@

                                                                                                      Enumeration Members

                                                                                                      LoanAuctioned: "LOAN_AUCTIONED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:814
                                                                                                    • LoanAuctionedWithBuyout: "LOAN_AUCTIONED_WITH_BUYOUT"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:815
                                                                                                    • LoanDefaulted: "LOAN_DEFAULTED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:816
                                                                                                    • LoanForeclosed: "LOAN_FORECLOSED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:817
                                                                                                    • LoanInitiated: "LOAN_INITIATED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:818
                                                                                                    • LoanRepaid: "LOAN_REPAID"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:819
                                                                                                    • LoanSentToAuction: "LOAN_SENT_TO_AUCTION"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:820
                                                                                                    • @@ -16,7 +16,7 @@
                                                                                                    • MarketplaceEnum
                                                                                                    • Enumeration MarketplaceEnum

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:864
                                                                                                    • @@ -33,12 +33,12 @@

                                                                                                      Enumeration Members

                                                                                                      Gondi: "GONDI"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:865
                                                                                                    • Nftfi: "NFTFI"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:866
                                                                                                    • @@ -16,7 +16,7 @@
                                                                                                    • OfferStatus
                                                                                                    • Enumeration OfferStatus

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1324
                                                                                                    • @@ -37,32 +37,32 @@

                                                                                                      Enumeration Members

                                                                                                      Active: "ACTIVE"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1325
                                                                                                    • Cancelled: "CANCELLED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1326
                                                                                                    • Executed: "EXECUTED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1327
                                                                                                    • Expired: "EXPIRED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1328
                                                                                                    • Inactive: "INACTIVE"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1329
                                                                                                    • Outperformed: "OUTPERFORMED"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1330
                                                                                                    • @@ -16,7 +16,7 @@
                                                                                                    • OffersSortField
                                                                                                    • Enumeration OffersSortField

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1346
                                                                                                    • @@ -45,72 +45,72 @@

                                                                                                      Enumeration Members

                                                                                                      AprBps: "APR_BPS"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1347
                                                                                                    • CreatedDate: "CREATED_DATE"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1348
                                                                                                    • DailyInterest: "DAILY_INTEREST"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1349
                                                                                                    • Duration: "DURATION"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1350
                                                                                                    • EffectiveAprBps: "EFFECTIVE_APR_BPS"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1351
                                                                                                    • Expiration: "EXPIRATION"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1352
                                                                                                    • Fee: "FEE"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1353
                                                                                                    • MaxPrincipal: "MAX_PRINCIPAL"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1354
                                                                                                    • NetInterest: "NET_INTEREST"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1355
                                                                                                    • NetPrincipal: "NET_PRINCIPAL"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1356
                                                                                                    • PrincipalAmount: "PRINCIPAL_AMOUNT"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1357
                                                                                                    • Repayment: "REPAYMENT"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1358
                                                                                                    • Status: "STATUS"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1359
                                                                                                    • TotalInterest: "TOTAL_INTEREST"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1360
                                                                                                    • @@ -16,7 +16,7 @@
                                                                                                    • Ordering
                                                                                                    • Enumeration Ordering

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1425
                                                                                                    • @@ -33,12 +33,12 @@

                                                                                                      Enumeration Members

                                                                                                      Asc: "ASC"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1426
                                                                                                    • Desc: "DESC"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1427
                                                                                                    • @@ -16,7 +16,7 @@
                                                                                                    • TokenStandardType
                                                                                                    • Enumeration TokenStandardType

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2184
                                                                                                    • @@ -34,17 +34,17 @@

                                                                                                      Enumeration Members

                                                                                                      Erc721: "ERC721"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2185
                                                                                                    • Erc1155: "ERC1155"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2186
                                                                                                    • OldErc721: "OLD_ERC721"
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2187
                                                                                                    • -

                                                                                                      Gondi JS SDK - v0.15.0b1

                                                                                                      +

                                                                                                      Gondi JS SDK - v0.15.0b2

                                                                                                      Gondi.js

                                                                                                      A JavaScript library for crypto-native lending: borrow, lend & refinance NFTs (non-fungible tokens).

                                                                                                      Table of Contents

                                                                                                      @@ -21,7 +21,7 @@

                                                                                                      Hierarchy

                                                                                                      • EmitLoanArgs
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:982
                                                                                                    • @@ -50,27 +50,27 @@
                                                                                                      Optional
                                                                                                      lenderOfferSignature: `0x${string}`
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:983
                                                                                                    • tokenId: bigint
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:988
                                                                                                    • duration: bigint
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:989
                                                                                                    • principalReceiver?: `0x${string}`
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:990
                                                                                                    • expirationTime?: bigint
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:991
                                                                                                    • @@ -21,7 +21,7 @@

                                                                                                      Hierarchy

                                                                                                      • GondiProps
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:938
                                                                                                    • @@ -41,12 +41,12 @@
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:939
                                                                                                    • apiClient?: ApolloClient<NormalizedCacheObject>
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:940
                                                                                                    • @@ -21,7 +21,7 @@

                                                                                                      Hierarchy

                                                                                                      • ListLoansProps
                                                                                                      +
                                                                                                    • Defined in src/model.ts:99
                                                                                                    • @@ -46,52 +46,52 @@

                                                                                                      Properties

                                                                                                      limit?: number
                                                                                                      +
                                                                                                    • Defined in src/model.ts:100
                                                                                                    • cursor?: null | string
                                                                                                      +
                                                                                                    • Defined in src/model.ts:101
                                                                                                    • borrowers?: `0x${string}`[]
                                                                                                      +
                                                                                                    • Defined in src/model.ts:102
                                                                                                    • collections?: number[]
                                                                                                      +
                                                                                                    • Defined in src/model.ts:103
                                                                                                    • nfts?: number[]
                                                                                                      +
                                                                                                    • Defined in src/model.ts:104
                                                                                                    • statuses?: LoanStatusType[]
                                                                                                      +
                                                                                                    • Defined in src/model.ts:105
                                                                                                    • sortBy?: LoanSortInput
                                                                                                      +
                                                                                                    • Defined in src/model.ts:106
                                                                                                    • terms?: TermsFilter
                                                                                                      +
                                                                                                    • Defined in src/model.ts:107
                                                                                                    • orderByStatuses?: boolean
                                                                                                      +
                                                                                                    • Defined in src/model.ts:108
                                                                                                    • loansCurrencyAddress?: `0x${string}`
                                                                                                      +
                                                                                                    • Defined in src/model.ts:109
                                                                                                    • -

                                                                                                      Gondi JS SDK - v0.15.0b1

                                                                                                      +

                                                                                                      Gondi JS SDK - v0.15.0b2

                                                                                                      Index

                                                                                                      @@ -50,7 +50,7 @@

                                                                                                      Theme

                                                                                                      @@ -16,7 +16,7 @@
                                                                                                    • Types
                                                                                                    • Namespace Types

                                                                                                      +
                                                                                                    • Defined in src/model.ts:1
                                                                                                    • Index

                                                                                                      @@ -48,7 +48,7 @@

                                                                                                      Theme

                                                                                                      @@ -18,7 +18,7 @@

                                                                                                      Type alias Auction

                                                                                                      Auction: AuctionV5 | AuctionV6
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:73
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias AuctionV5

                                                                                                      AuctionV5: PlaceBidAbiTypeV5[2]
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:71
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias AuctionV6

                                                                                                      AuctionV6: PlaceBidAbiTypeV6[2]
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:72
                                                                                                    • @@ -33,7 +33,7 @@
                                                                                                      Optional
                                                                                                      Optional erc1155TokenIds?: bigint[]
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:965
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      collection: {
                                                                                                          __typename?: "Collection";
                                                                                                          contractData: {
                                                                                                              __typename?: "ContractData";
                                                                                                              contractAddress: Address;
                                                                                                          };
                                                                                                          wrapperCollections: {
                                                                                                              __typename?: "Collection";
                                                                                                              contractData: {
                                                                                                                  __typename?: "ContractData";
                                                                                                                  contractAddress: Address;
                                                                                                              };
                                                                                                          }[];
                                                                                                      }[]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2589
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      Optional collection?: {
                                                                                                          __typename?: "Collection";
                                                                                                          id: string;
                                                                                                      } | null
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2603
                                                                                                    • @@ -53,7 +53,7 @@
                                                                                                      Optional
                                                                                                      Optional signerAddress?: InputMaybe<Scalars["Address"]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:271
                                                                                                    • @@ -59,7 +59,7 @@
                                                                                                      signature
                                                                                                      Optional signerAddress?: InputMaybe<Scalars["Address"]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:322
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      collections: {
                                                                                                          __typename?: "Collection";
                                                                                                          id: string;
                                                                                                      }[]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2596
                                                                                                    • @@ -39,7 +39,7 @@
                                                                                                      hasNextPage
                                                                                                      edges: {
                                                                                                          __typename?: "CollectionEdge";
                                                                                                          node: {
                                                                                                              __typename?: "Collection";
                                                                                                              id: string;
                                                                                                              name?: string | null;
                                                                                                              slug: string;
                                                                                                              description?: string | null;
                                                                                                              discordUrl?: string | null;
                                                                                                              twitterUsername?: string | null;
                                                                                                              externalUrl?: string | null;
                                                                                                              collectionUrl?: string | null;
                                                                                                              verified: boolean;
                                                                                                              wrapperCollections: {
                                                                                                                  __typename?: "Collection";
                                                                                                                  contractData: {
                                                                                                                      __typename?: "ContractData";
                                                                                                                      contractAddress: Address;
                                                                                                                  };
                                                                                                              }[];
                                                                                                              image?: {
                                                                                                                  __typename?: "Asset";
                                                                                                                  cacheUrl?: string | null;
                                                                                                              } | null;
                                                                                                              bannerImage?: {
                                                                                                                  __typename?: "Asset";
                                                                                                                  cacheUrl?: string | null;
                                                                                                              } | null;
                                                                                                              contractData: {
                                                                                                                  __typename?: "ContractData";
                                                                                                                  blockchain: string;
                                                                                                                  contractAddress: Address;
                                                                                                                  createdDate: Date;
                                                                                                                  creatorAddress?: Address | null;
                                                                                                              };
                                                                                                              statistics: {
                                                                                                                  __typename?: "CollectionStatistics";
                                                                                                                  floorPrice7d?: number | null;
                                                                                                                  floorPrice30d?: number | null;
                                                                                                                  totalVolume?: number | null;
                                                                                                                  totalVolume1y?: number | null;
                                                                                                                  totalVolume3m?: number | null;
                                                                                                                  totalVolume1m?: number | null;
                                                                                                                  totalVolume1w?: number | null;
                                                                                                                  totalLoanVolume: bigint;
                                                                                                                  totalLoanVolume1w: bigint;
                                                                                                                  totalLoanVolume1m: bigint;
                                                                                                                  totalLoanVolume3m: bigint;
                                                                                                                  totalLoanVolume1y: bigint;
                                                                                                                  numberOfPricedNfts: number;
                                                                                                                  nftsCount?: number | null;
                                                                                                                  percentageInOutstandingLoans: number;
                                                                                                                  repaymentRate: number;
                                                                                                                  numberOfOffers: number;
                                                                                                                  floorPrice?: {
                                                                                                                      __typename?: "CurrencyAmount";
                                                                                                                      amount: number;
                                                                                                                      currency: {
                                                                                                                          __typename?: "Currency";
                                                                                                                          address: Address;
                                                                                                                          decimals: number;
                                                                                                                      };
                                                                                                                  } | null;
                                                                                                                  bestOffer?: {
                                                                                                                      __typename?: "CurrencyAmount";
                                                                                                                      amount: number;
                                                                                                                      currency: {
                                                                                                                          __typename?: "Currency";
                                                                                                                          address: Address;
                                                                                                                          decimals: number;
                                                                                                                      };
                                                                                                                  } | null;
                                                                                                              };
                                                                                                          };
                                                                                                      }[]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2582
                                                                                                    • @@ -29,7 +29,7 @@
                                                                                                      amounts
                                                                                                      standard: NftStandard
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:952
                                                                                                    • @@ -29,7 +29,7 @@
                                                                                                      tokenIds
                                                                                                      amounts: bigint[]
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:958
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias DepositERC721sArgs

                                                                                                      DepositERC721sArgs: Omit<DepositERC1155sArgs, "amounts">
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:964
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias Erc721Or1155ABI

                                                                                                      Erc721Or1155ABI: typeof erc721ABI | typeof erc1155Abi
                                                                                                      +
                                                                                                    • Defined in src/contracts/index.ts:29
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type Parameters

                                                                                                    • T extends {
                                                                                                          [key: string]: unknown;
                                                                                                      }

                                                                                                    • +
                                                                                                    • Defined in src/generated/graphql/index.ts:9
                                                                                                    • @@ -52,7 +52,7 @@
                                                                                                      Optional
                                                                                                      contractAddress: Address
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2484
                                                                                                    • @@ -47,7 +47,7 @@
                                                                                                      tokenId
                                                                                                      Optional collection?: {
                                                                                                          __typename?: "Collection";
                                                                                                          contractData: {
                                                                                                              __typename?: "ContractData";
                                                                                                              contractAddress: Address;
                                                                                                          };
                                                                                                      } | null
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2528
                                                                                                    • @@ -49,7 +49,7 @@
                                                                                                      tokenId
                                                                                                      Optional collection?: {
                                                                                                          __typename?: "Collection";
                                                                                                          contractData: {
                                                                                                              __typename?: "ContractData";
                                                                                                              contractAddress: Address;
                                                                                                          };
                                                                                                      } | null
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2506
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias HexString

                                                                                                      HexString: `0x${string}`
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:75
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      hideOffer: {
                                                                                                          __typename?: "CollectionOffer";
                                                                                                          id: string;
                                                                                                      } | {
                                                                                                          __typename?: "SingleNFTOffer";
                                                                                                          id: string;
                                                                                                      }
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2499
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      hideOrder: {
                                                                                                          __typename?: "CollectionOrder";
                                                                                                          id: string;
                                                                                                      } | {
                                                                                                          __typename?: "SingleNFTOrder";
                                                                                                          id: string;
                                                                                                      }
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2558
                                                                                                    • @@ -30,7 +30,7 @@
                                                                                                      Optional
                                                                                                      id: string
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2536
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type Parameters

                                                                                                    • T

                                                                                                    • +
                                                                                                    • Defined in src/generated/graphql/index.ts:8
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      Optional min?: InputMaybe<Scalars["Float"]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:490
                                                                                                    • @@ -39,7 +39,7 @@
                                                                                                      hasNextPage
                                                                                                      edges: {
                                                                                                          __typename?: "ListingEdge";
                                                                                                          node: {
                                                                                                              __typename?: "Listing";
                                                                                                              id: string;
                                                                                                              marketplaceName: MarketplaceEnum;
                                                                                                              createdDate: Date;
                                                                                                              desiredDuration?: number | null;
                                                                                                              desiredPrincipalAddress?: Address | null;
                                                                                                              user: {
                                                                                                                  __typename?: "User";
                                                                                                                  walletAddress: Address;
                                                                                                              };
                                                                                                              nft: {
                                                                                                                  __typename?: "NFT";
                                                                                                                  id: string;
                                                                                                                  tokenId: bigint;
                                                                                                                  collection?: {
                                                                                                                      __typename?: "Collection";
                                                                                                                      id: string;
                                                                                                                      slug: string;
                                                                                                                      contractData: {
                                                                                                                          __typename?: "ContractData";
                                                                                                                          contractAddress: Address;
                                                                                                                      };
                                                                                                                  } | null;
                                                                                                              };
                                                                                                          };
                                                                                                      }[]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2614
                                                                                                    • @@ -41,7 +41,7 @@
                                                                                                      hasNextPage
                                                                                                      edges: {
                                                                                                          __typename?: "MultiSourceLoanEdge";
                                                                                                          node: {
                                                                                                              __typename?: "MultiSourceLoan";
                                                                                                              id: string;
                                                                                                              address: Address;
                                                                                                              loanId: number;
                                                                                                              timestamp: Date;
                                                                                                              txHash: Hash;
                                                                                                              indexInBlock: number;
                                                                                                              borrowerAddress: Address;
                                                                                                              principalAddress: Address;
                                                                                                              startTime: Date;
                                                                                                              duration: bigint;
                                                                                                              status: string;
                                                                                                              principalAmount: bigint;
                                                                                                              blendedAprBps: number;
                                                                                                              totalOriginationFee: bigint;
                                                                                                              protocolFee: bigint;
                                                                                                              offer: {
                                                                                                                  __typename?: "CollectionOffer";
                                                                                                                  offerId: bigint;
                                                                                                                  signerAddress?: Address | null;
                                                                                                              } | {
                                                                                                                  __typename?: "SingleNFTOffer";
                                                                                                                  offerId: bigint;
                                                                                                                  signerAddress?: Address | null;
                                                                                                              };
                                                                                                              currency: {
                                                                                                                  __typename?: "Currency";
                                                                                                                  symbol: string;
                                                                                                                  decimals: number;
                                                                                                                  address: Address;
                                                                                                              };
                                                                                                              repaidActivity?: {
                                                                                                                  __typename?: "LoanRepaid";
                                                                                                                  totalInterest: bigint;
                                                                                                                  timestamp: Date;
                                                                                                              } | null;
                                                                                                              nft: {
                                                                                                                  __typename?: "NFT";
                                                                                                                  id: string;
                                                                                                                  name?: string | null;
                                                                                                                  tokenId: bigint;
                                                                                                                  nftId: string;
                                                                                                                  owner?: Address | null;
                                                                                                                  image?: {
                                                                                                                      __typename?: "Asset";
                                                                                                                      data: string;
                                                                                                                      cacheUrl?: string | null;
                                                                                                                      contentTypeMime: string;
                                                                                                                      accessTypeName: string;
                                                                                                                  } | null;
                                                                                                                  collection?: {
                                                                                                                      __typename?: "Collection";
                                                                                                                      id: string;
                                                                                                                      slug: string;
                                                                                                                      name?: string | null;
                                                                                                                      nftsCount?: number | null;
                                                                                                                      contractData: {
                                                                                                                          __typename?: "ContractData";
                                                                                                                          contractAddress: Address;
                                                                                                                      };
                                                                                                                  } | null;
                                                                                                              };
                                                                                                              sources: {
                                                                                                                  __typename?: "Source";
                                                                                                                  id: string;
                                                                                                                  loanId: string;
                                                                                                                  originationFee: bigint;
                                                                                                                  principalAmount: bigint;
                                                                                                                  lenderAddress: string;
                                                                                                                  accruedInterest: bigint;
                                                                                                                  aprBps: bigint;
                                                                                                                  startTime: Date;
                                                                                                              }[];
                                                                                                          };
                                                                                                      }[]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2630
                                                                                                    • @@ -30,7 +30,7 @@
                                                                                                      Optional
                                                                                                      id: string
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2470
                                                                                                    • @@ -39,7 +39,7 @@
                                                                                                      hasNextPage
                                                                                                      edges: {
                                                                                                          __typename?: "OfferEdge";
                                                                                                          node: {
                                                                                                              __typename?: "CollectionOffer";
                                                                                                              id: string;
                                                                                                              offerId: bigint;
                                                                                                              lenderAddress?: Address | null;
                                                                                                              borrowerAddress?: Address | null;
                                                                                                              signerAddress?: Address | null;
                                                                                                              contractAddress: Address;
                                                                                                              requiresLiquidation?: boolean | null;
                                                                                                              principalAddress: Address;
                                                                                                              principalAmount: bigint;
                                                                                                              aprBps: bigint;
                                                                                                              fee: bigint;
                                                                                                              capacity: bigint;
                                                                                                              expirationTime: bigint;
                                                                                                              duration: bigint;
                                                                                                              status: string;
                                                                                                              offerHash?: Hash | null;
                                                                                                              signature?: Hex | null;
                                                                                                              createdDate?: Date | null;
                                                                                                              repayment: bigint;
                                                                                                              hidden?: boolean | null;
                                                                                                              maxSeniorRepayment: bigint;
                                                                                                              collection: {
                                                                                                                  __typename?: "Collection";
                                                                                                                  id: string;
                                                                                                                  slug: string;
                                                                                                                  contractData: {
                                                                                                                      __typename?: "ContractData";
                                                                                                                      contractAddress: Address;
                                                                                                                  };
                                                                                                              };
                                                                                                              currency: {
                                                                                                                  __typename?: "Currency";
                                                                                                                  symbol: string;
                                                                                                                  decimals: number;
                                                                                                                  address: Address;
                                                                                                              };
                                                                                                              validators: {
                                                                                                                  __typename?: "OfferValidator";
                                                                                                                  arguments: Hex;
                                                                                                                  validator: Address;
                                                                                                              }[];
                                                                                                          } | {
                                                                                                              __typename?: "SingleNFTOffer";
                                                                                                              id: string;
                                                                                                              offerId: bigint;
                                                                                                              lenderAddress?: Address | null;
                                                                                                              borrowerAddress?: Address | null;
                                                                                                              signerAddress?: Address | null;
                                                                                                              contractAddress: Address;
                                                                                                              requiresLiquidation?: boolean | null;
                                                                                                              principalAddress: Address;
                                                                                                              principalAmount: bigint;
                                                                                                              aprBps: bigint;
                                                                                                              fee: bigint;
                                                                                                              capacity: bigint;
                                                                                                              expirationTime: bigint;
                                                                                                              duration: bigint;
                                                                                                              status: string;
                                                                                                              offerHash?: Hash | null;
                                                                                                              signature?: Hex | null;
                                                                                                              createdDate?: Date | null;
                                                                                                              repayment: bigint;
                                                                                                              hidden?: boolean | null;
                                                                                                              maxSeniorRepayment: bigint;
                                                                                                              nft: {
                                                                                                                  __typename?: "NFT";
                                                                                                                  id: string;
                                                                                                                  tokenId: bigint;
                                                                                                                  collection?: {
                                                                                                                      __typename?: "Collection";
                                                                                                                      id: string;
                                                                                                                      slug: string;
                                                                                                                      contractData: {
                                                                                                                          __typename?: "ContractData";
                                                                                                                          contractAddress: Address;
                                                                                                                      };
                                                                                                                  } | null;
                                                                                                              };
                                                                                                              currency: {
                                                                                                                  __typename?: "Currency";
                                                                                                                  symbol: string;
                                                                                                                  decimals: number;
                                                                                                                  address: Address;
                                                                                                              };
                                                                                                              validators: {
                                                                                                                  __typename?: "OfferValidator";
                                                                                                                  arguments: Hex;
                                                                                                                  validator: Address;
                                                                                                              }[];
                                                                                                          };
                                                                                                      }[]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2673
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      field
                                                                                                      order: Ordering
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:808
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias LoanToMslLoanType

                                                                                                      LoanToMslLoanType: Optional<LoanV4, "nftCollateralAddress"> | Optional<LoanV5, "nftCollateralAddress"> | Optional<LoanV6, "nftCollateralAddress">
                                                                                                      +
                                                                                                    • Defined in src/utils/loan.ts:24
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type declaration

                                                                                                    • contractAddress: Address
                                                                                                    • +
                                                                                                    • Defined in src/blockchain.ts:51
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      contractAddress
                                                                                                      startTime: Date | bigint
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:52
                                                                                                    • @@ -27,7 +27,7 @@
                                                                                                      startTime
                                                                                                      contractStartTime: Date | bigint
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:56
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias MakeOfferType

                                                                                                      MakeOfferType: Omit<Awaited<ReturnType<Gondi["makeSingleNftOffer"]>>, "nftId"> | Omit<Awaited<ReturnType<Gondi["makeCollectionOffer"]>>, "collectionId">
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:943
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type declaration

                                                                                                    • maxSeniorRepayment: Exclude<SingleNftOfferInput["maxSeniorRepayment"], null | undefined>
                                                                                                    • +
                                                                                                    • Defined in src/model.ts:21
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type Parameters

                                                                                                    • T

                                                                                                    • +
                                                                                                    • Defined in src/generated/graphql/index.ts:7
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      Optional nft?: {
                                                                                                          __typename?: "NFT";
                                                                                                          id: string;
                                                                                                      } | null
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2638
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      Optional nft?: {
                                                                                                          __typename?: "NFT";
                                                                                                          id: string;
                                                                                                      } | null
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2646
                                                                                                    • @@ -16,7 +16,7 @@
                                                                                                    • Internal
                                                                                                    • NftOrderInput
                                                                                                    • Type alias NftOrderInput

                                                                                                      -
                                                                                                      NftOrderInput: {
                                                                                                          amount: Scalars["BigInt"];
                                                                                                          contractAddress: Scalars["Address"];
                                                                                                          currencyAddress: Scalars["Address"];
                                                                                                          expirationTime: Scalars["BigInt"];
                                                                                                          isAsk: Scalars["Boolean"];
                                                                                                          startTime: Scalars["BigInt"];
                                                                                                          taker?: InputMaybe<Scalars["Address"]>;
                                                                                                          tokenId: Scalars["BigInt"];
                                                                                                      }
                                                                                                      +
                                                                                                      NftOrderInput: {
                                                                                                          amount: Scalars["BigInt"];
                                                                                                          contractAddress: Scalars["Address"];
                                                                                                          currencyAddress: Scalars["Address"];
                                                                                                          expirationTime: Scalars["BigInt"];
                                                                                                          isAsk: Scalars["Boolean"];
                                                                                                          repaymentSignature?: InputMaybe<Scalars["Signature"]>;
                                                                                                          signature?: InputMaybe<Scalars["Signature"]>;
                                                                                                          startTime: Scalars["BigInt"];
                                                                                                          taker?: InputMaybe<Scalars["Address"]>;
                                                                                                          tokenId: Scalars["BigInt"];
                                                                                                      }

                                                                                                      Type declaration

                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1143
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias OfferFromExecutionOffer

                                                                                                      OfferFromExecutionOffer: OptionalNullable<MakeOfferType, "borrowerAddress" | "lenderAddress" | "offerHash" | "signature">
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:947
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      arguments
                                                                                                      validator: Scalars["Address"]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1341
                                                                                                    • @@ -29,7 +29,7 @@
                                                                                                      order
                                                                                                      Optional principalOfInterest?: InputMaybe<Scalars["BigInt"]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1363
                                                                                                    • @@ -25,7 +25,7 @@

                                                                                                      T

                                                                                                    • K extends keyof T

                                                                                                    • +
                                                                                                    • Defined in src/utils/types.ts:1
                                                                                                    • @@ -25,7 +25,7 @@

                                                                                                      T

                                                                                                    • K extends keyof T

                                                                                                    • +
                                                                                                    • Defined in src/utils/types.ts:2
                                                                                                    • @@ -39,7 +39,7 @@
                                                                                                      hasNextPage
                                                                                                      edges: {
                                                                                                          __typename?: "NFTEdge";
                                                                                                          node: {
                                                                                                              __typename?: "NFT";
                                                                                                              id: string;
                                                                                                              tokenId: bigint;
                                                                                                              price?: bigint | null;
                                                                                                              priceCurrencyAddress?: string | null;
                                                                                                              collection?: {
                                                                                                                  __typename?: "Collection";
                                                                                                                  id: string;
                                                                                                                  contractData: {
                                                                                                                      __typename?: "ContractData";
                                                                                                                      contractAddress: Address;
                                                                                                                  };
                                                                                                                  wrapperCollections: {
                                                                                                                      __typename?: "Collection";
                                                                                                                      contractData: {
                                                                                                                          __typename?: "ContractData";
                                                                                                                          contractAddress: Address;
                                                                                                                      };
                                                                                                                  }[];
                                                                                                              } | null;
                                                                                                              activeLoan?: {
                                                                                                                  __typename?: "MultiSourceLoan";
                                                                                                                  id: string;
                                                                                                              } | null;
                                                                                                              statistics: {
                                                                                                                  __typename?: "NftStatistics";
                                                                                                                  lastSale?: {
                                                                                                                      __typename?: "Sale";
                                                                                                                      order: {
                                                                                                                          __typename?: "CollectionOrder";
                                                                                                                          price: bigint;
                                                                                                                          currency: {
                                                                                                                              __typename?: "Currency";
                                                                                                                              address: Address;
                                                                                                                              decimals: number;
                                                                                                                          };
                                                                                                                      } | {
                                                                                                                          __typename?: "SingleNFTOrder";
                                                                                                                          price: bigint;
                                                                                                                          currency: {
                                                                                                                              __typename?: "Currency";
                                                                                                                              address: Address;
                                                                                                                              decimals: number;
                                                                                                                          };
                                                                                                                      };
                                                                                                                  } | null;
                                                                                                                  topTraitFloorPrice?: {
                                                                                                                      __typename?: "CurrencyAmount";
                                                                                                                      amount: number;
                                                                                                                      currency: {
                                                                                                                          __typename?: "Currency";
                                                                                                                          address: Address;
                                                                                                                          decimals: number;
                                                                                                                      };
                                                                                                                  } | null;
                                                                                                              };
                                                                                                          };
                                                                                                      }[]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2656
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias PlaceBidAbiTypeV5

                                                                                                      PlaceBidAbiTypeV5: AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof auctionLoanLiquidatorABI, "placeBid">["inputs"]>
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:44
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias PlaceBidAbiTypeV6

                                                                                                      PlaceBidAbiTypeV6: AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof auctionLoanLiquidatorAbi, "placeBid">["inputs"]>
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:47
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      wallet: Wallet
                                                                                                      +
                                                                                                    • Defined in src/api/index.ts:19
                                                                                                    • @@ -47,7 +47,7 @@
                                                                                                      Optional
                                                                                                      Optional trancheIndex?: InputMaybe<Scalars["BigInt"][]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1873
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias RepayAbiTypeV4

                                                                                                      RepayAbiTypeV4: AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof multiSourceLoanABI, "repayLoan">["inputs"]>
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:14
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias RepayAbiTypeV5

                                                                                                      RepayAbiTypeV5: AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof multiSourceLoanABI, "repayLoan">["inputs"]>
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:17
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias RepayAbiTypeV6

                                                                                                      RepayAbiTypeV6: AbiParametersToPrimitiveTypes<ExtractAbiFunction<typeof multiSourceLoanAbi, "repayLoan">["inputs"]>
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:20
                                                                                                    • @@ -44,7 +44,7 @@
                                                                                                      Optional
                                                                                                      contractAddress: Address
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2491
                                                                                                    • @@ -32,7 +32,7 @@
                                                                                                      id
                                                                                                    • status: string
                                                                                                    • +
                                                                                                    • Defined in src/generated/graphql/index.ts:2543
                                                                                                    • @@ -41,7 +41,7 @@
                                                                                                      tokenId
                                                                                                      Optional collection?: {
                                                                                                          __typename?: "Collection";
                                                                                                          contractData: {
                                                                                                              __typename?: "ContractData";
                                                                                                              contractAddress: Address;
                                                                                                          };
                                                                                                      } | null
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2513
                                                                                                    • @@ -50,7 +50,7 @@
                                                                                                      SignatureVoid: any
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:13
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias Signature

                                                                                                      Signature: HexString
                                                                                                      +
                                                                                                    • Defined in src/blockchain.ts:76
                                                                                                    • @@ -53,7 +53,7 @@
                                                                                                      Optional
                                                                                                      Optional trancheIndex?: InputMaybe<Scalars["BigInt"][]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:1931
                                                                                                    • @@ -53,7 +53,7 @@
                                                                                                      Optional
                                                                                                      Optional signerAddress?: InputMaybe<Scalars["Address"]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2003
                                                                                                    • @@ -59,7 +59,7 @@
                                                                                                      signature
                                                                                                      Optional signerAddress?: InputMaybe<Scalars["Address"]>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2052
                                                                                                    • @@ -35,7 +35,7 @@
                                                                                                      Optional
                                                                                                      Optional remainingTime?: InputMaybe<Interval>
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2174
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      showOffer: {
                                                                                                          __typename?: "CollectionOffer";
                                                                                                          id: string;
                                                                                                      } | {
                                                                                                          __typename?: "SingleNFTOffer";
                                                                                                          id: string;
                                                                                                      }
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2521
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      Optional
                                                                                                      showOrder: {
                                                                                                          __typename?: "CollectionOrder";
                                                                                                          id: string;
                                                                                                      } | {
                                                                                                          __typename?: "SingleNFTOrder";
                                                                                                          id: string;
                                                                                                      }
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2572
                                                                                                    • @@ -30,7 +30,7 @@
                                                                                                      Optional
                                                                                                      id: string
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2551
                                                                                                    • @@ -30,7 +30,7 @@
                                                                                                      Optional
                                                                                                      id: string
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2477
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      onlyOrExclude
                                                                                                      userId: Scalars["Int"]
                                                                                                      +
                                                                                                    • Defined in src/generated/graphql/index.ts:2274
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias Wallet

                                                                                                      Wallet: WalletClient<Transport, Chain, Account>
                                                                                                      +
                                                                                                    • Defined in src/contracts/index.ts:21
                                                                                                    • @@ -33,7 +33,7 @@
                                                                                                      Optional
                                                                                                      tokenId: bigint
                                                                                                      +
                                                                                                    • Defined in src/gondi.ts:974
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      signature
                                                                                                      nftCollateralTokenId: 0n
                                                                                                      +
                                                                                                    • Defined in src/model.ts:54
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias CollectionOfferInput

                                                                                                      CollectionOfferInput: Optional<CollectionOfferInput, "borrowerAddress" | "lenderAddress" | "signerAddress" | "offerValidators" | "contractAddress"> & MaxSeniorRepaymentArg
                                                                                                      +
                                                                                                    • Defined in src/model.ts:41
                                                                                                    • @@ -31,7 +31,7 @@
                                                                                                      Optional
                                                                                                      Optional cursor?: string | null
                                                                                                      +
                                                                                                    • Defined in src/model.ts:112
                                                                                                    • @@ -44,7 +44,7 @@
                                                                                                      Optional
                                                                                                      Optional status?: OfferStatus[]
                                                                                                      +
                                                                                                    • Defined in src/model.ts:84
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias NftStandard

                                                                                                      NftStandard: "ERC721" | "ERC1155"
                                                                                                      +
                                                                                                    • Defined in src/model.ts:120
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias RenegotiationInput

                                                                                                      RenegotiationInput: Optional<RenegotiationOfferInput, "lenderAddress" | "signerAddress"> & ({
                                                                                                          trancheIndex: Exclude<RenegotiationOfferInput["trancheIndex"], null | undefined>;
                                                                                                          targetPrincipal?: undefined;
                                                                                                      } | {
                                                                                                          trancheIndex?: undefined;
                                                                                                          targetPrincipal: Exclude<RenegotiationOfferInput["targetPrincipal"], null | undefined>;
                                                                                                      })
                                                                                                      +
                                                                                                    • Defined in src/model.ts:59
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type declaration

                                                                                                    • signature: Signature
                                                                                                    • +
                                                                                                    • Defined in src/model.ts:76
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type declaration

                                                                                                    • signature: Hash
                                                                                                    • +
                                                                                                    • Defined in src/model.ts:36
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias SingleNftOfferInput

                                                                                                      SingleNftOfferInput: Optional<SingleNftOfferInput, "borrowerAddress" | "lenderAddress" | "signerAddress" | "offerValidators" | "contractAddress"> & MaxSeniorRepaymentArg
                                                                                                      +
                                                                                                    • Defined in src/model.ts:25
                                                                                                    • @@ -23,7 +23,7 @@

                                                                                                      Type declaration

                                                                                                    • nftCollateralAddress: Address
                                                                                                    • +
                                                                                                    • Defined in src/model.ts:47
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Type alias UnsignedRenegotiationOffer

                                                                                                      UnsignedRenegotiationOffer: Omit<SignedRenegotiationOfferInput, "signature">
                                                                                                      +
                                                                                                    • Defined in src/model.ts:74
                                                                                                    • @@ -25,7 +25,7 @@
                                                                                                      nftCollateralAddress
                                                                                                      nftCollateralTokenId: bigint
                                                                                                      +
                                                                                                    • Defined in src/model.ts:31
                                                                                                    • @@ -17,7 +17,7 @@

                                                                                                      Variable FULFILLEDConst

                                                                                                      FULFILLED: "fulfilled" = ...
                                                                                                      +
                                                                                                    • Defined in src/utils/promises.ts:1
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable auctionLoanLiquidatorABIConst

                                                                                                      auctionLoanLiquidatorABI: readonly [{
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AddressZeroError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AuctionAlreadyInProgressError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionNotOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CouldNotModifyValidLoansError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidHashAuctionError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidTriggerFee";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "LoanNotAcceptedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "MinBidError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "NFTNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NoBidsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroAddressError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "auctionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "proceeds";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "settler";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AuctionSettled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newBidder";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "BidPlaced";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationDistributorUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractAdded";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractRemoved";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanLiquidationStarted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TriggerFeeUpdated";
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_TRIGGER_FEE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_INCREMENT_BPS";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "addLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getAuctionHash";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidationDistributor";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTriggerFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getValidLoanContracts";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_duration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }, {
                                                                                                              name: "_originator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "liquidateLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "placeBid";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "removeLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "settleAuction";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "updateLiquidationDistributor";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "updateTriggerFee";
                                                                                                          outputs: readonly [];
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v5.ts:199
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable auctionLoanLiquidatorABIConst

                                                                                                      auctionLoanLiquidatorABI: readonly [{
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AuctionAlreadyInProgressError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "AuctionNotExistsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionNotOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidTriggerFee";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "LoanNotAcceptedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "MinBidError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "NFTNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NoBidsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroAddressError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "auctionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "highestBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "settler";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AuctionSettled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "auctionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newBidder";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "BidPlaced";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractAdded";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractRemoved";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "duration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanLiquidationStarted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TriggerFeeUpdated";
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_TRIGGER_FEE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_INCREMENT_BPS";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "addLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getAuction";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct AuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTriggerFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getValidLoanContracts";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_duration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }, {
                                                                                                              name: "_originator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "liquidateLoan";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "placeBid";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "removeLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "settleAuction";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "updateTriggerFee";
                                                                                                          outputs: readonly [];
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v4.ts:114
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable auctionLoanLiquidatorAbiConst

                                                                                                      auctionLoanLiquidatorAbi: readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "maxExtension";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AddressZeroError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AuctionAlreadyInProgressError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionNotOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CouldNotModifyValidLoansError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidHashAuctionError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidTriggerFee";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "LoanNotAcceptedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "MinBidError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "NFTNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NoBidsError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "proceeds";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "settler";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AuctionSettled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newBidder";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "BidPlaced";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationDistributorUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractAdded";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractRemoved";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanLiquidationStarted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TriggerFeeUpdated";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_TRIGGER_FEE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_INCREMENT_BPS";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "addLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getAuctionHash";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidationDistributor";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMaxExtension";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTriggerFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getValidLoanContracts";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_duration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }, {
                                                                                                              name: "_minBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_originator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "liquidateLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "placeBid";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "removeLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "settleAuction";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "updateLiquidationDistributor";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "updateTriggerFee";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v6.ts:113
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable auctionWithBuyoutLoanLiquidatorAbiConst

                                                                                                      auctionWithBuyoutLoanLiquidatorAbi: readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "loanManagerRegistry";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "maxExtension";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }, {
                                                                                                              name: "timeForMainLenderToBuy";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AddressZeroError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AuctionAlreadyInProgressError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionNotOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expiration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          name: "AuctionOverError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CouldNotModifyValidLoansError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidHashAuctionError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidInputError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidTriggerFee";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "LoanNotAcceptedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "MinBidError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "NFTNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NoBidsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NotMainLenderError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "timeLimit";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "OptionToBuyExpiredError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "timeLimit";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "OptionToBuyStilValidError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "proceeds";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "settler";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AuctionSettled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "largestTrancheIdx";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AuctionSettledWithBuyout";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newBidder";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "BidPlaced";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationDistributorUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractAdded";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loan";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanContractRemoved";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanLiquidationStarted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "timeForMainLenderToBuy";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TimeForMainLenderToBuyUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TriggerFeeUpdated";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_TIME_FOR_MAIN_LENDER_TO_BUY";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_TRIGGER_FEE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_INCREMENT_BPS";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "addLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getAuctionHash";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidationDistributor";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLoanManagerRegistry";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "contract ILoanManagerRegistry";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMaxExtension";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTimeForMainLenderToBuy";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTriggerFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getValidLoanContracts";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_asset";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_duration";
                                                                                                              internalType: "uint96";
                                                                                                              type: "uint96";
                                                                                                          }, {
                                                                                                              name: "_minBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_originator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "liquidateLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_bid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "placeBid";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "removeLoanContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__timeForMainLenderToBuy";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "setTimeForMainLenderToBuy";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "settleAuction";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_nftAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_auction";
                                                                                                              internalType: "struct IAuctionLoanLiquidator.Auction";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "loanAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "triggerFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "minBid";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "highestBidder";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "asset";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }, {
                                                                                                                  name: "originator";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lastBidTime";
                                                                                                                  internalType: "uint96";
                                                                                                                  type: "uint96";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "settleWithBuyout";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__liquidationDistributor";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "updateLiquidationDistributor";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "triggerFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "updateTriggerFee";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v6.ts:483
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable erc1155AbiConst

                                                                                                      erc1155Abi: readonly [{
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owners";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "ids";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "balanceOfBatch";
                                                                                                          outputs: readonly [{
                                                                                                              name: "balances";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "ids";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "amounts";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeBatchTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "uri";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "ids";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amounts";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TransferBatch";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TransferSingle";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "value";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "URI";
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v6.ts:12072
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable erc721ABIConst

                                                                                                      erc721ABI: readonly [{
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Approval";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Transfer";
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "approve";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getApproved";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ownerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "symbol";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "tokenURI";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "transferFrom";
                                                                                                          outputs: readonly [];
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v5.ts:1274
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable multiSourceLoanABIConst

                                                                                                      multiSourceLoanABI: readonly [{
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanLiquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "protocolFee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "maxSources";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "minLockPeriod";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "delegateRegistry";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "flashActionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AddressZeroError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "CancelledOrExecutedOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "CancelledRenegotiationOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CannotLiquidateError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ECDSAInvalidSignature";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "length";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ECDSAInvalidSignatureLength";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "s";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                          name: "ECDSAInvalidSignatureS";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ExpiredOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ExpiredRenegotiationOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ExtensionNotAvailableError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_principalAmount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidAmountError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidBorrowerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallbackError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCollateralIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidDurationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidLenderError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidLiquidationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidLoanError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidMethodError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_fraction";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidProtocolFeeError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidRenegotiationOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidSignatureError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidValueError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LengthMismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "LiquidatorOnlyError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LoanExpiredError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LoanNotDueError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_newMinOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LowOfferIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_newMinRenegotiationOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LowRenegotiationOfferIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MaxCapacityExceededError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "minLockPeriod";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "MinLockPeriodTooHighError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "i";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "returndata";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "MulticallFailed";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NFTNotReturnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NotStrictlyImprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "OnlyBorrowerCallableError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "OnlyLenderCallableError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "OnlyLenderOrBorrowerCallableError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "PartialOfferCannotChangeDurationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "PartialOfferCannotHaveFeeError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "RefinanceFullError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "minTimestamp";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "SourceCannotBeRefinancedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "sourcePrincipal";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "loanPrincipal";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "TargetPrincipalTooLowError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_pendingProtocolFeeSetTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "TooEarlyError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "sources";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "TooManySourcesError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroDurationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroInterestError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AllOffersCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "minRenegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AllRenegotiationOffersCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "borrower";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "BorrowerOfferCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newdelegateRegistry";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "DelegateRegistryUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "value";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "Delegated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newFlashActionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "FlashActionContractUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "target";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "FlashActionExecuted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "minimum";
                                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "interest";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ImprovementMinimumUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newDuration";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationAuctionDurationUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationContractUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "borrower";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanEmitted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "oldLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "_extension";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanExtended";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanForeclosed";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanLiquidated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "oldLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanRefinanced";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "totalRepayment";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanRepaid";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanSentToLiquidator";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newMax";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "MaxSourcesUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "minLockPeriod";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "MinLockPeriodUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "OfferCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "fee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ProtocolFeePendingUpdate";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "fee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ProtocolFeeUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "RenegotiationOfferCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "RevokeDelegate";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "contractAdded";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tax";
                                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "buyTax";
                                                                                                                  internalType: "uint128";
                                                                                                                  type: "uint128";
                                                                                                              }, {
                                                                                                                  name: "sellTax";
                                                                                                                  internalType: "uint128";
                                                                                                                  type: "uint128";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "WhitelistedCallbackContractAdded";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "contractRemoved";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "WhitelistedCallbackContractRemoved";
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "DOMAIN_SEPARATOR";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "FEE_UPDATE_NOTICE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_PROTOCOL_FEE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_AUCTION_DURATION";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tax";
                                                                                                              internalType: "struct WithCallbacks.Taxes";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "buyTax";
                                                                                                                  internalType: "uint128";
                                                                                                                  type: "uint128";
                                                                                                              }, {
                                                                                                                  name: "sellTax";
                                                                                                                  internalType: "uint128";
                                                                                                                  type: "uint128";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "addWhitelistedCallbackContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelAllOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minRenegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelAllRenegotiationOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelOffer";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_offerIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "cancelOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelRenegotiationOffer";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "cancelRenegotiationOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_rights";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }, {
                                                                                                              name: "_value";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "delegate";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_executionData";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "executionData";
                                                                                                                  internalType: "struct IBaseLoan.ExecutionData";
                                                                                                                  type: "tuple";
                                                                                                                  components: readonly [{
                                                                                                                      name: "offer";
                                                                                                                      internalType: "struct IBaseLoan.LoanOffer";
                                                                                                                      type: "tuple";
                                                                                                                      components: readonly [{
                                                                                                                          name: "offerId";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "lender";
                                                                                                                          internalType: "address";
                                                                                                                          type: "address";
                                                                                                                      }, {
                                                                                                                          name: "fee";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "borrower";
                                                                                                                          internalType: "address";
                                                                                                                          type: "address";
                                                                                                                      }, {
                                                                                                                          name: "capacity";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "nftCollateralAddress";
                                                                                                                          internalType: "address";
                                                                                                                          type: "address";
                                                                                                                      }, {
                                                                                                                          name: "nftCollateralTokenId";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "principalAddress";
                                                                                                                          internalType: "address";
                                                                                                                          type: "address";
                                                                                                                      }, {
                                                                                                                          name: "principalAmount";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "aprBps";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "expirationTime";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "duration";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "validators";
                                                                                                                          internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                          type: "tuple[]";
                                                                                                                          components: readonly [{
                                                                                                                              name: "validator";
                                                                                                                              internalType: "address";
                                                                                                                              type: "address";
                                                                                                                          }, {
                                                                                                                              name: "arguments";
                                                                                                                              internalType: "bytes";
                                                                                                                              type: "bytes";
                                                                                                                          }];
                                                                                                                      }];
                                                                                                                  }, {
                                                                                                                      name: "tokenId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "amount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "expirationTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "callbackData";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "lenderOfferSignature";
                                                                                                                  internalType: "bytes";
                                                                                                                  type: "bytes";
                                                                                                              }, {
                                                                                                                  name: "borrowerOfferSignature";
                                                                                                                  internalType: "bytes";
                                                                                                                  type: "bytes";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "emitLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_target";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "executeFlashAction";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_extension";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "extendLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getCollectionManager";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getCurrencyManager";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getDelegateRegistry";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getFlashActionContract";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getImprovementMinimum";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "interest";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidationAuctionDuration";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidator";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getLoanHash";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMaxSources";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMinLockPeriod";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanPrincipal";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getMinSourcePrincipal";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getPendingProtocolFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getPendingProtocolFeeSetTime";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getProtocolFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTotalLoansIssued";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getUsedCapacity";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "isBorrowerOfferCancelled";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "isOfferCancelled";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "isRenegotiationOfferCancelled";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isWhitelistedCallbackContract";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "lenderMinRenegotiationOfferId";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "liquidateLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "loanLiquidated";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "minOfferId";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "payable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "data";
                                                                                                              internalType: "bytes[]";
                                                                                                              type: "bytes[]";
                                                                                                          }];
                                                                                                          name: "multicall";
                                                                                                          outputs: readonly [{
                                                                                                              name: "results";
                                                                                                              internalType: "bytes[]";
                                                                                                              type: "bytes[]";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "targetPrincipal";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_renegotiationOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "refinanceFull";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "targetPrincipal";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "refinancePartial";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "removeWhitelistedCallbackContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_repaymentData";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "data";
                                                                                                                  internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                                  type: "tuple";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "callbackData";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }, {
                                                                                                                      name: "shouldDelegate";
                                                                                                                      internalType: "bool";
                                                                                                                      type: "bool";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "loan";
                                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                                  type: "tuple";
                                                                                                                  components: readonly [{
                                                                                                                      name: "borrower";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "nftCollateralTokenId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "nftCollateralAddress";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAddress";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "duration";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "source";
                                                                                                                      internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                      type: "tuple[]";
                                                                                                                      components: readonly [{
                                                                                                                          name: "loanId";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "lender";
                                                                                                                          internalType: "address";
                                                                                                                          type: "address";
                                                                                                                      }, {
                                                                                                                          name: "principalAmount";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "accruedInterest";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "startTime";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "aprBps";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }];
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "borrowerSignature";
                                                                                                                  internalType: "bytes";
                                                                                                                  type: "bytes";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "repayLoan";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "revokeDelegate";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newDelegateRegistry";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "setDelegateRegistry";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newFlashActionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "setFlashActionContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__maxSources";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "setMaxSources";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__minLockPeriod";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "setMinLockPeriod";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "setProtocolFee";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newMinimum";
                                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "interest";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "updateImprovementMinimum";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newDuration";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                          name: "updateLiquidationAuctionDuration";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanLiquidator";
                                                                                                              internalType: "contract ILoanLiquidator";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "updateLiquidationContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newProtocolFee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "updateProtocolFee";
                                                                                                          outputs: readonly [];
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v5.ts:4907
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable multiSourceLoanABIConst

                                                                                                      multiSourceLoanABI: readonly [{
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanLiquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "protocolFee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "maxSources";
                                                                                                              internalType: "uint8";
                                                                                                              type: "uint8";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AddressZeroError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "CancelledOrExecutedOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "CancelledRenegotiationOffer";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "CancelledRenegotiationOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CannotLiquidateError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ExpiredLoanError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ExpiredOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ExpiredRenegotiationOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidBorrowerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallbackError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCollateralIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidLiquidationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidLoanError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_fraction";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidProtocolFeeError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidRenegotiationOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidSignatureError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidSignerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LengthMismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "LiquidatorOnlyError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LoanExpiredError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LoanNotDueError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LoanNotFoundError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_newMinOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LowOfferIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_newMinRenegotiationOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LowRenegotiationOfferIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MaxCapacityExceededError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "NotMintedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NotStrictlyImprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "OnlyBorrowerCallableError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "OnlyLenderOrSignerCallableError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "PartialOfferCannotChangeDurationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "PartialOfferCannotHaveFeeError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "RefinanceFullError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "RepaymentError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "sourcePrincipal";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "loanPrincipal";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "TargetPrincipalTooLowError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_pendingProtocolFeeSetTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "TooEarlyError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "sources";
                                                                                                              internalType: "uint8";
                                                                                                              type: "uint8";
                                                                                                          }];
                                                                                                          name: "TooManySourcesError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "Unauthorized";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_authorized";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "UnauthorizedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroAddressError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroDurationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroInterestError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AllOffersCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "minRenegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AllRenegotiationOffersCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "signer";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovedSigner";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "minimum";
                                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "interest";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ImprovementMinimumUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newDuration";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationAuctionDurationUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationContractUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanEmitted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanForeclosed";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "repayment";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanLiquidated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "oldLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanRefinanced";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "totalRepayment";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanRepaid";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanSentToLiquidator";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newMax";
                                                                                                              internalType: "uint8";
                                                                                                              type: "uint8";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "MaxSourcesUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "OfferCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "fee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ProtocolFeePendingUpdate";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "fee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ProtocolFeeUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "RenegotiationOfferCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "contract_added";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "WhitelistedCallbackContractAdded";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "contract_removed";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "WhitelistedCallbackContractRemoved";
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "DOMAIN_SEPARATOR";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "FEE_UPDATE_NOTICE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_PROTOCOL_FEE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "addWhitelistedCallbackContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_signer";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "approveSigner";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelAllOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_minRenegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelAllRenegotiationOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelOffer";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "cancelOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelRenegotiationOffer";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_renegotiationIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "cancelRenegotiationOffers";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanOffer";
                                                                                                              internalType: "struct IBaseLoan.LoanOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "offerId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "capacity";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "signer";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "requiresLiquidation";
                                                                                                                  internalType: "bool";
                                                                                                                  type: "bool";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "validators";
                                                                                                                  internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "validator";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "arguments";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_lenderOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }, {
                                                                                                              name: "_withCallback";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "emitLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "getApprovedSigner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getCollectionManager";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getCurrencyManager";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getImprovementMinimum";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "interest";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidationAuctionDuration";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidator";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getLoanHash";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMaxSources";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint8";
                                                                                                              type: "uint8";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanPrincipal";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getMinSourcePrincipal";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getPendingProtocolFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getPendingProtocolFeeSetTime";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getProtocolFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTotalLoansIssued";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getUsedCapacity";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "isOfferCancelled";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "isRenegotiationOfferCancelled";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isWhitelistedCallbackContract";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "lenderMinOfferId";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "lenderMinRenegotiationOfferId";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "liquidateLoan";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_collateralAddress";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_collateralTokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_repayment";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "loanLiquidated";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "signer";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "targetPrincipal";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "strictImprovement";
                                                                                                                  internalType: "bool";
                                                                                                                  type: "bool";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_renegotiationOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "refinanceFull";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "signer";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "targetPrincipal";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "strictImprovement";
                                                                                                                  internalType: "bool";
                                                                                                                  type: "bool";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "refinancePartial";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer[]";
                                                                                                              type: "tuple[]";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "signer";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "targetPrincipal";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "strictImprovement";
                                                                                                                  internalType: "bool";
                                                                                                                  type: "bool";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                                              type: "tuple[]";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "refinancePartialBatch";
                                                                                                          outputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "loans";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan[]";
                                                                                                              type: "tuple[]";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "removeWhitelistedCallbackContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_collateralTo";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "source";
                                                                                                                  internalType: "struct IMultiSourceLoan.Source[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_withCallback";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "repayLoan";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "maxSources";
                                                                                                              internalType: "uint8";
                                                                                                              type: "uint8";
                                                                                                          }];
                                                                                                          name: "setMaxSources";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "setProtocolFee";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newMinimum";
                                                                                                              internalType: "struct IBaseLoan.ImprovementMinimum";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "interest";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "updateImprovementMinimum";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newDuration";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                          name: "updateLiquidationAuctionDuration";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanLiquidator";
                                                                                                              internalType: "contract ILoanLiquidator";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "updateLiquidationContract";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newProtocolFee";
                                                                                                              internalType: "struct IBaseLoan.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "updateProtocolFee";
                                                                                                          outputs: readonly [];
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v4.ts:2619
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable multiSourceLoanAbiConst

                                                                                                      multiSourceLoanAbi: readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanLiquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "protocolFee";
                                                                                                              internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "maxTranches";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "minLockPeriod";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "delegateRegistry";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "loanManagerRegistry";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "flashActionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "minWaitTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AddressZeroError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "CancelledOrExecutedOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ECDSAInvalidSignature";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "length";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ECDSAInvalidSignatureLength";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "s";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                          name: "ECDSAInvalidSignatureS";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ExpiredOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidAddressesError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_principalAmount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidAmountError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallbackError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCollateralIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidDurationError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidInputError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "InvalidLoanError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidMethodError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidParametersError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidRenegotiationOfferError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidSignatureError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidTrancheError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "LiquidatorOnlyError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LoanExpiredError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LoanLockedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_expirationTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LoanNotDueError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_newMinOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LowOfferIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_newMinRenegotiationOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "LowRenegotiationOfferIdError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MaxCapacityExceededError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "i";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "returndata";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "MulticallFailed";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NFTNotReturnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "NotStrictlyImprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_pendingProtocolFeeSetTime";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "TooEarlyError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "TooManyTranchesError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "TooSoonError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "minTimestamp";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "TrancheCannotBeRefinancedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ZeroInterestError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "AllOffersCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "value";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "Delegated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newFlashActionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "FlashActionContractUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "target";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "FlashActionExecuted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newDuration";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationAuctionDurationUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LiquidationContractUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanEmitted";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanForeclosed";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanLiquidated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "oldLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanRefinanced";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "newLoanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "totalFee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanRefinancedFromNewOffers";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "totalRepayment";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "fee";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanRepaid";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "liquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "LoanSentToLiquidator";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minimum";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "MinAprImprovementUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newMinBid";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "MinBidLiquidationUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "minLockPeriod";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "MinLockPeriodUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "OfferCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "fee";
                                                                                                              internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ProtocolFeePendingUpdate";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "fee";
                                                                                                              internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ProtocolFeeUpdated";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "RenegotiationOfferCancelled";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "RevokeDelegate";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "TransferOwnerRequested";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "contractAdded";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "WhitelistedCallbackContractAdded";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "contractRemoved";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "WhitelistedCallbackContractRemoved";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "DOMAIN_SEPARATOR";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "FEE_UPDATE_NOTICE";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "INITIAL_DOMAIN_SEPARATOR";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MAX_AUCTION_DURATION";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_AUCTION_DURATION";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_BID_LIQUIDATION";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "MIN_WAIT_TIME";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "VERSION";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "trancheIndex";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_renegotiationOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "addNewTranche";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "addWhitelistedCallbackContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelAllOffers";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelOffer";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "cancelRenegotiationOffer";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_rights";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }, {
                                                                                                              name: "_value";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "delegate";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanExecutionData";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "executionData";
                                                                                                                  internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                                  type: "tuple";
                                                                                                                  components: readonly [{
                                                                                                                      name: "offerExecution";
                                                                                                                      internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                                      type: "tuple[]";
                                                                                                                      components: readonly [{
                                                                                                                          name: "offer";
                                                                                                                          internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                                          type: "tuple";
                                                                                                                          components: readonly [{
                                                                                                                              name: "offerId";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "lender";
                                                                                                                              internalType: "address";
                                                                                                                              type: "address";
                                                                                                                          }, {
                                                                                                                              name: "fee";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "capacity";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "nftCollateralAddress";
                                                                                                                              internalType: "address";
                                                                                                                              type: "address";
                                                                                                                          }, {
                                                                                                                              name: "nftCollateralTokenId";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "principalAddress";
                                                                                                                              internalType: "address";
                                                                                                                              type: "address";
                                                                                                                          }, {
                                                                                                                              name: "principalAmount";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "aprBps";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "expirationTime";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "duration";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "maxSeniorRepayment";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "validators";
                                                                                                                              internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                              type: "tuple[]";
                                                                                                                              components: readonly [{
                                                                                                                                  name: "validator";
                                                                                                                                  internalType: "address";
                                                                                                                                  type: "address";
                                                                                                                              }, {
                                                                                                                                  name: "arguments";
                                                                                                                                  internalType: "bytes";
                                                                                                                                  type: "bytes";
                                                                                                                              }];
                                                                                                                          }];
                                                                                                                      }, {
                                                                                                                          name: "amount";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "lenderOfferSignature";
                                                                                                                          internalType: "bytes";
                                                                                                                          type: "bytes";
                                                                                                                      }];
                                                                                                                  }, {
                                                                                                                      name: "tokenId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "duration";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "expirationTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalReceiver";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "callbackData";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "borrowerOfferSignature";
                                                                                                                  internalType: "bytes";
                                                                                                                  type: "bytes";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "emitLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_target";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "executeFlashAction";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getCollectionManager";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getCurrencyManager";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getDelegateRegistry";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getFlashActionContract";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidationAuctionDuration";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLiquidator";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getLoanHash";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes32";
                                                                                                              type: "bytes32";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getLoanManagerRegistry";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "contract ILoanManagerRegistry";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMaxTranches";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMinImprovementApr";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getMinLockPeriod";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getPendingProtocolFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getPendingProtocolFeeSetTime";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getProtocolFee";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "getTotalLoansIssued";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_lender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getUsedCapacity";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "offerId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "isOfferCancelled";
                                                                                                          outputs: readonly [{
                                                                                                              name: "notActive";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "renegotiationIf";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "isRenegotiationOfferCancelled";
                                                                                                          outputs: readonly [{
                                                                                                              name: "notActive";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isWhitelistedCallbackContract";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "liquidateLoan";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "loanLiquidated";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "minOfferId";
                                                                                                          outputs: readonly [{
                                                                                                              name: "minOfferId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "data";
                                                                                                              internalType: "bytes[]";
                                                                                                              type: "bytes[]";
                                                                                                          }];
                                                                                                          name: "multicall";
                                                                                                          outputs: readonly [{
                                                                                                              name: "results";
                                                                                                              internalType: "bytes[]";
                                                                                                              type: "bytes[]";
                                                                                                          }];
                                                                                                          stateMutability: "payable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "pendingOwner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "pendingOwnerTime";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_loanId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loanExecutionData";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanExecutionData";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "executionData";
                                                                                                                  internalType: "struct IMultiSourceLoan.ExecutionData";
                                                                                                                  type: "tuple";
                                                                                                                  components: readonly [{
                                                                                                                      name: "offerExecution";
                                                                                                                      internalType: "struct IMultiSourceLoan.OfferExecution[]";
                                                                                                                      type: "tuple[]";
                                                                                                                      components: readonly [{
                                                                                                                          name: "offer";
                                                                                                                          internalType: "struct IMultiSourceLoan.LoanOffer";
                                                                                                                          type: "tuple";
                                                                                                                          components: readonly [{
                                                                                                                              name: "offerId";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "lender";
                                                                                                                              internalType: "address";
                                                                                                                              type: "address";
                                                                                                                          }, {
                                                                                                                              name: "fee";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "capacity";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "nftCollateralAddress";
                                                                                                                              internalType: "address";
                                                                                                                              type: "address";
                                                                                                                          }, {
                                                                                                                              name: "nftCollateralTokenId";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "principalAddress";
                                                                                                                              internalType: "address";
                                                                                                                              type: "address";
                                                                                                                          }, {
                                                                                                                              name: "principalAmount";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "aprBps";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "expirationTime";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "duration";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "maxSeniorRepayment";
                                                                                                                              internalType: "uint256";
                                                                                                                              type: "uint256";
                                                                                                                          }, {
                                                                                                                              name: "validators";
                                                                                                                              internalType: "struct IBaseLoan.OfferValidator[]";
                                                                                                                              type: "tuple[]";
                                                                                                                              components: readonly [{
                                                                                                                                  name: "validator";
                                                                                                                                  internalType: "address";
                                                                                                                                  type: "address";
                                                                                                                              }, {
                                                                                                                                  name: "arguments";
                                                                                                                                  internalType: "bytes";
                                                                                                                                  type: "bytes";
                                                                                                                              }];
                                                                                                                          }];
                                                                                                                      }, {
                                                                                                                          name: "amount";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "lenderOfferSignature";
                                                                                                                          internalType: "bytes";
                                                                                                                          type: "bytes";
                                                                                                                      }];
                                                                                                                  }, {
                                                                                                                      name: "tokenId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "duration";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "expirationTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalReceiver";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "callbackData";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "borrowerOfferSignature";
                                                                                                                  internalType: "bytes";
                                                                                                                  type: "bytes";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "refinanceFromLoanExecutionData";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "trancheIndex";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_renegotiationOfferSignature";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "refinanceFull";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_renegotiationOffer";
                                                                                                              internalType: "struct IMultiSourceLoan.RenegotiationOffer";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "renegotiationId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "loanId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "lender";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "trancheIndex";
                                                                                                                  internalType: "uint256[]";
                                                                                                                  type: "uint256[]";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "aprBps";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "expirationTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }, {
                                                                                                              name: "_loan";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "refinancePartial";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "struct IMultiSourceLoan.Loan";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "borrower";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralTokenId";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "nftCollateralAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAddress";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "principalAmount";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "startTime";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "duration";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }, {
                                                                                                                  name: "tranche";
                                                                                                                  internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                  type: "tuple[]";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "floor";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "lender";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "accruedInterest";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "aprBps";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "protocolFee";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_contract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "removeWhitelistedCallbackContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_repaymentData";
                                                                                                              internalType: "struct IMultiSourceLoan.LoanRepaymentData";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "data";
                                                                                                                  internalType: "struct IMultiSourceLoan.SignableRepaymentData";
                                                                                                                  type: "tuple";
                                                                                                                  components: readonly [{
                                                                                                                      name: "loanId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "callbackData";
                                                                                                                      internalType: "bytes";
                                                                                                                      type: "bytes";
                                                                                                                  }, {
                                                                                                                      name: "shouldDelegate";
                                                                                                                      internalType: "bool";
                                                                                                                      type: "bool";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "loan";
                                                                                                                  internalType: "struct IMultiSourceLoan.Loan";
                                                                                                                  type: "tuple";
                                                                                                                  components: readonly [{
                                                                                                                      name: "borrower";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "nftCollateralTokenId";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "nftCollateralAddress";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAddress";
                                                                                                                      internalType: "address";
                                                                                                                      type: "address";
                                                                                                                  }, {
                                                                                                                      name: "principalAmount";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "startTime";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "duration";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }, {
                                                                                                                      name: "tranche";
                                                                                                                      internalType: "struct IMultiSourceLoan.Tranche[]";
                                                                                                                      type: "tuple[]";
                                                                                                                      components: readonly [{
                                                                                                                          name: "loanId";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "floor";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "principalAmount";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "lender";
                                                                                                                          internalType: "address";
                                                                                                                          type: "address";
                                                                                                                      }, {
                                                                                                                          name: "accruedInterest";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "startTime";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }, {
                                                                                                                          name: "aprBps";
                                                                                                                          internalType: "uint256";
                                                                                                                          type: "uint256";
                                                                                                                      }];
                                                                                                                  }, {
                                                                                                                      name: "protocolFee";
                                                                                                                      internalType: "uint256";
                                                                                                                      type: "uint256";
                                                                                                                  }];
                                                                                                              }, {
                                                                                                                  name: "borrowerSignature";
                                                                                                                  internalType: "bytes";
                                                                                                                  type: "bytes";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "repayLoan";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "requestTransferOwner";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_delegate";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "revokeDelegate";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newFlashActionContract";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "setFlashActionContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__minLockPeriod";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "setMinLockPeriod";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "setProtocolFee";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newDuration";
                                                                                                              internalType: "uint48";
                                                                                                              type: "uint48";
                                                                                                          }];
                                                                                                          name: "updateLiquidationAuctionDuration";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "__loanLiquidator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "updateLiquidationContract";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newMinimum";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "updateMinImprovementApr";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_newProtocolFee";
                                                                                                              internalType: "struct WithProtocolFee.ProtocolFee";
                                                                                                              type: "tuple";
                                                                                                              components: readonly [{
                                                                                                                  name: "recipient";
                                                                                                                  internalType: "address";
                                                                                                                  type: "address";
                                                                                                              }, {
                                                                                                                  name: "fraction";
                                                                                                                  internalType: "uint256";
                                                                                                                  type: "uint256";
                                                                                                              }];
                                                                                                          }];
                                                                                                          name: "updateProtocolFee";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v6.ts:7418
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable oldErc721WrapperAbiConst

                                                                                                      oldErc721WrapperAbi: readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "name";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }, {
                                                                                                              name: "symbol";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }, {
                                                                                                              name: "_wrapped";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "approve";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getApproved";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ownerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "stashAddress";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "stashFactory";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "contract Stash";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "symbol";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "tokenURI";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "tokensOfOwner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "totalSupply";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "transferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "unwrap";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "tokenIndexes";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "unwrapBatch";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "wrap";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "tokenIndexes";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "wrapBatch";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "wrapped";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "contract IOldERC721";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Approval";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Transfer";
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/oldERC721Wrapper.ts:1
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable userVaultABIConst

                                                                                                      userVaultABI: readonly [{
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AssetNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LengthMismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "NotApprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "VaultNotExistsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WithdrawingETHError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WrongMethodError";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Approval";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Transfer";
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "ERC20BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC721OwnerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ETH";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "approve";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_assetRecipient";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "burn";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          name: "burnAndWithdraw";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC20";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC721";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC721s";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "payable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositEth";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getApproved";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "mint";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ownerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "view";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "symbol";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "pure";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "tokenURI";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "transferFrom";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "withdrawERC20";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC20s";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC721";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC721s";
                                                                                                          outputs: readonly [];
                                                                                                      }, {
                                                                                                          stateMutability: "nonpayable";
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawEth";
                                                                                                          outputs: readonly [];
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v5.ts:8314
                                                                                                    • @@ -18,7 +18,7 @@

                                                                                                      Variable userVaultAbiConst

                                                                                                      userVaultAbi: readonly [{
                                                                                                          type: "constructor";
                                                                                                          inputs: readonly [{
                                                                                                              name: "currencyManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "collectionManager";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC1155BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "ERC20BalanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ERC721OwnerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "ETH";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "approve";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "balanceOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_assetRecipient";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "burn";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155Tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_erc1155TokensIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "burnAndWithdraw";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "_amounts";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "depositERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "depositEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "payable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "getApproved";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "isApprovedForAll";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "mint";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "name";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155BatchReceived";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC1155Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "onERC721Received";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "owner";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "ownerOf";
                                                                                                          outputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "data";
                                                                                                              internalType: "bytes";
                                                                                                              type: "bytes";
                                                                                                          }];
                                                                                                          name: "safeTransferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          name: "setApprovalForAll";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "interfaceId";
                                                                                                              internalType: "bytes4";
                                                                                                              type: "bytes4";
                                                                                                          }];
                                                                                                          name: "supportsInterface";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [];
                                                                                                          name: "symbol";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "view";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "tokenURI";
                                                                                                          outputs: readonly [{
                                                                                                              name: "";
                                                                                                              internalType: "string";
                                                                                                              type: "string";
                                                                                                          }];
                                                                                                          stateMutability: "pure";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "transferFrom";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "transferOwnership";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC1155s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }];
                                                                                                          name: "withdrawERC20";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_tokens";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC20s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                          }, {
                                                                                                              name: "_tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawERC721";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }, {
                                                                                                              name: "_collections";
                                                                                                              internalType: "address[]";
                                                                                                              type: "address[]";
                                                                                                          }, {
                                                                                                              name: "_tokenIds";
                                                                                                              internalType: "uint256[]";
                                                                                                              type: "uint256[]";
                                                                                                          }];
                                                                                                          name: "withdrawERC721s";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "function";
                                                                                                          inputs: readonly [{
                                                                                                              name: "_vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "withdrawEth";
                                                                                                          outputs: readonly [];
                                                                                                          stateMutability: "nonpayable";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "spender";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Approval";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "owner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "operator";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "approved";
                                                                                                              internalType: "bool";
                                                                                                              type: "bool";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ApprovalForAll";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC1155Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "token";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "amount";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC20Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Deposited";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "collection";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: false;
                                                                                                          }, {
                                                                                                              name: "tokenId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: false;
                                                                                                          }];
                                                                                                          name: "ERC721Withdrawn";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "user";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "newOwner";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "OwnershipTransferred";
                                                                                                      }, {
                                                                                                          type: "event";
                                                                                                          anonymous: false;
                                                                                                          inputs: readonly [{
                                                                                                              name: "from";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "to";
                                                                                                              internalType: "address";
                                                                                                              type: "address";
                                                                                                              indexed: true;
                                                                                                          }, {
                                                                                                              name: "id";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                              indexed: true;
                                                                                                          }];
                                                                                                          name: "Transfer";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "AssetNotOwnedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CollectionNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "CurrencyNotWhitelistedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "InvalidCallerError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "LengthMismatchError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [{
                                                                                                              name: "vaultId";
                                                                                                              internalType: "uint256";
                                                                                                              type: "uint256";
                                                                                                          }];
                                                                                                          name: "NotApprovedError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "VaultNotExistsError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WithdrawingETHError";
                                                                                                      }, {
                                                                                                          type: "error";
                                                                                                          inputs: readonly [];
                                                                                                          name: "WrongMethodError";
                                                                                                      }] = ...
                                                                                                      +
                                                                                                    • Defined in src/generated/blockchain/v6.ts:11207
                                                                                                    • @@ -17,7 +17,7 @@

                                                                                                      Variable REJECTEDConst

                                                                                                      REJECTED: "rejected" = ...
                                                                                                      +
                                                                                                    • Defined in src/utils/promises.ts:2